Defined in file: hzDatabase.h

Derivative of: hdbDatatype

The hdbEnum class implements HadronZoo ENUM data types. These are validation lists, manifest in Dissemino webapps as HTML selectors, or sets of radio buttons or checkboxes. Under the current Dissemino regime, these selector devices either allow a single selection or a multiple selection. There are no in-betweens. Because ENUMs are manifest as selector devices, large ENUM populations would be impractical, so the limit was set at 256 values. This limit allows a single value selector, i.e. a data object member of the applicable ENUM type, to be held internally as a single byte. Multiple values are held internally as either a straight bitmap (hdbObject), or as a string encoded as an idset (hdbObjRepos cache).

Constructors/Detructors

hdbEnum*hdbEnum(hdbEnum&)
hdbEnum*hdbEnum(void)
void~hdbEnum(void)

Public Methods:

hzEcodeAddItem(hzString& strValue)Add a string value to the enumerated set of strings using the default value system.
hzEcodeAddItem(hzString& strValue)uint32_t numValue, Add a string value to the enumerated set of strings but with a specified value.
uint32_tCount(void)
uint32_tGetNum(hzString& S)
hzStringGetStr(uint32_t num)
hzEcodeInit(hzString& enumName)

Overloaded operators:

hdbEnum&operator=(hdbEnum&)

Member Variables:

uint32_tm_DefaultPosition of default item (commonly 0)
hzArray<uint32_t>m_NumbersInternal value numbers
hzArray<hzString>m_StringsString values
uint32_tm_nMaxLength of longest item