Files
pcas/src/gdd/gddEnumStringTable.h
2001-10-22 16:59:40 +00:00

41 lines
1.0 KiB
C++

//
// gddEnumStringTable.h
// Author: Jeff Hill
//
#ifndef gddEnumStringTableh
#define gddEnumStringTableh
#include "shareLib.h"
class epicsShareClass gddEnumStringTable {
public:
gddEnumStringTable ();
~gddEnumStringTable ();
void clear ();
void reserve ( unsigned nStrings );
bool setString ( unsigned index, const char *pString );
void getString ( unsigned index, char *pBuf, unsigned size ) const;
const char * getString ( unsigned index ) const;
unsigned getStringLength ( unsigned index ) const;
unsigned numberOfStrings () const;
private:
unsigned nStrings;
unsigned nStringSlots;
struct stringEntry {
char * pString;
unsigned length;
} * pStringTable;
bool expand ( unsigned nStringsRequired );
};
inline gddEnumStringTable::gddEnumStringTable () :
nStrings ( 0 ), nStringSlots ( 0 ), pStringTable ( 0 ) {}
inline unsigned gddEnumStringTable::numberOfStrings () const
{
return this->nStrings;
}
#endif // ifndef gddEnumStringTableh