Data_Description Data_Description_findMatch (Data_Description structDescription, const char32 *name) { for (Data_Description desc = structDescription; desc -> name; desc ++) if (str32equ (name, desc -> name)) return desc; if (structDescription [0]. type == inheritwa) { Data_Description parentDescription = ((Daata) _Thing_dummyObject ((ClassInfo) structDescription [0]. tagType)) -> v_description (); if (parentDescription) return Data_Description_findMatch (parentDescription, name); } return nullptr; // not found }
Data_Description Data_Description_findMatch (Data_Description structDescription, const wchar_t *name) { for (Data_Description desc = structDescription; desc -> name; desc ++) if (wcsequ (name, desc -> name)) return desc; if (structDescription [0]. type == inheritwa) { Data_Description parentDescription = ((Data) _Thing_dummyObject ((ClassInfo) structDescription [0]. tagType)) -> v_description (); if (parentDescription) return Data_Description_findMatch (parentDescription, name); } return NULL; /* Not found. */ }
int Data_Description_countMembers (Data_Description structDescription) { int count = 0; for (Data_Description desc = structDescription; desc -> name; desc ++) count ++; if (structDescription [0]. type == inheritwa) { Data_Description parentDescription = ((Daata) _Thing_dummyObject ((ClassInfo) structDescription [0]. tagType)) -> v_description (); if (parentDescription) return count + Data_Description_countMembers (parentDescription); } return count; }
Data_Description Data_Description_findNumberUse (Data_Description structDescription, const char32 *string) { for (Data_Description desc = structDescription; desc -> name; desc ++) { if (desc -> max1 && str32equ (desc -> max1, string)) return desc; if (desc -> max2 && str32equ (desc -> max2, string)) return desc; } if (structDescription [0]. type == inheritwa) { Data_Description parentDescription = ((Daata) _Thing_dummyObject ((ClassInfo) structDescription [0]. tagType)) -> v_description (); if (parentDescription) return Data_Description_findNumberUse (parentDescription, string); } return nullptr; }