Defined in file: hzDatabase.h

Data class member At the app level, the important data class member properties are the host data class, the name (unique within the data class), the data type, and the population constraints that apply to member values (as described by enum hdbPopCtl). Please note the following:- - hdbMember instances are created during the initialization of data classes (hdbClass instances), and should NOT be created outside of this context. - The recommended practice is to declare global pointers to members, with names of the form g_pMbr_classname_membername or similar, and to set these to the members directly after data class initialization. This is done because the hdbObject Get and Set functions expect member pointers, rather than member names. - As data class members cannot exist without a data class, it would make sense to nest the hdbMember definition within the hdbClass definition. That it is not is a historic matter, which is unlikely to change. It is easier and neater to use 'const hdbMember' in declarations, rather than 'const hdbClass::Member' or similar. If hdbMember were a subclass of hdbClass, it would not eliminate the need for hdbObject Get and Set functions to check if the supplied member pointer was initialized to the applicable class.

Constructors/Detructors

hdbMember*hdbMember(hdbMember&)
hdbMember*hdbMember(void)
NULL-TYPEhdbMember(void)
void~hdbMember(void)

Public Methods:

hdbBasetypeBasetype(void)
hdbClass*Class(void)
boolCompulsory(void)
hdbDatatype*Datatype(void)
uint16_tDeltaId(void)
hdsFldspec*GetSpec(void)
hzEcodeInit(hdbClass* pClass)hdbDatatype* pType, hzString& name, uint32_t nPosn, hdbPopCtl popCtl, Initialize the data object class member with name and data type
boolIsClass(void)
boolMultiple(void)
boolOptional(void)
int32_tOsetAux(void)
int32_tOsetStd(void)
hdbPopCtlPopCtl(void)
uint32_tPosn(void)
hzEcodeSetSpec(hdsFldspec* pSpec)Set Field Specification for the member. Relevant only to webapp forms. Not relevant to HDB operation.
boolSingular(void)
uint32_tSizeAux(void)
uint32_tSizeCore(void)
uint32_tSizeDatum(void)
hzEcode_setAux(int32_t nAux)Set Field Specification for the member. Relevant only to webapp forms. Not relevant to HDB operation.
hzEcode_setId(uint32_t mbrId)Set Field Specification for the member. Relevant only to webapp forms. Not relevant to HDB operation.
hzEcode_setOset(int32_t nOset)Set Field Specification for the member. Relevant only to webapp forms. Not relevant to HDB operation.
hzStringstrDesc(void)
hzStringstrName(void)
const char*txtDesc(void)
const char*txtName(void)

Overloaded operators:

booloperator!=(hdbMember& op)
hdbMember&operator=(hdbMember&)
booloperator==(hdbMember& op)

Member Variables:

hzStringm_DescFor application specific purposes, data members may have an optional description
uint16_tm_MemberUIDUnique member delta ID.
hzStringm_NameMember name, must be unique within the data class
hzStringm_dsmTabSubjectDissemino tab section subject (not for internal db consideration)
int16_tm_nOsetAuxOffset to aux member space within hdbObject core (used only by BINARY members for binary datum repository address)
int16_tm_nOsetStdOffset to member space within hdbObject core - calculated by hdbClass::InitDone()
uint16_tm_nPosnActual position within class (set on Init() on being added to class)
hdbClass*m_pClassData class to which this member belongs
hdsFldspec*m_pSpecDissemino field specification for rendering HTML (Aid to webapp forms, not used for HDB purposes)
hdbDatatype*m_pTypeData type
unsigned charm_popCtlPopulation restraints
unsigned charm_sizeAuxSize of core slot
unsigned charm_sizeCoreSize of core slot
unsigned charm_sizeDatumSize of datum in bytes, as per the data type