You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.4 KiB
44 lines
1.4 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose: Shared code for parsing / searching for characters in a string
|
||
|
// using lookup tables
|
||
|
//
|
||
|
// $Workfile: $
|
||
|
// $Date: $
|
||
|
// $NoKeywords: $
|
||
|
//===========================================================================//
|
||
|
|
||
|
#ifndef CHARACTERSET_H
|
||
|
#define CHARACTERSET_H
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
|
||
|
struct characterset_t
|
||
|
{
|
||
|
char set[256];
|
||
|
};
|
||
|
|
||
|
|
||
|
// This is essentially a strpbrk() using a precalculated lookup table
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: builds a simple lookup table of a group of important characters
|
||
|
// Input : *pSetBuffer - pointer to the buffer for the group
|
||
|
// *pSetString - list of characters to flag
|
||
|
//-----------------------------------------------------------------------------
|
||
|
extern void CharacterSetBuild( characterset_t *pSetBuffer, const char *pSetString );
|
||
|
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Input : *pSetBuffer - pre-build group buffer
|
||
|
// character - character to lookup
|
||
|
// Output : int - 1 if the character was in the set
|
||
|
//-----------------------------------------------------------------------------
|
||
|
#define IN_CHARACTERSET( SetBuffer, character ) ((SetBuffer).set[ (unsigned char) (character) ])
|
||
|
|
||
|
|
||
|
#endif // CHARACTERSET_H
|