The RoseStructure class is used for EXPRESS entity instances. The EXPRESS compiler creates sub-classes of this for each entity type in a schema. The RoseStructure class does not define any new functions. All functions and functionality are inherited from RoseObject.

Useful Functions Inherited from RoseObject

Some RoseObject functions are only appropriate for entity instances. These functions are defined by RoseObject instead of RoseStructure to reduce typecasting by late-bound programs. Refer to RoseObject for more information about the following functions:

    unsigned long RoseObject::entity_id();
    RoseAttribute * RoseObject::getAttribute(char * att_name);

    <type_ref>  RoseObject::get<name>(RoseAttribute * att);
    <type_ref>  RoseObject::get<name>(char * att_name);

    RoseBoolean RoseObject::isExternal(RoseAttribute *att);
    RoseBoolean RoseObject::isUnresolved(RoseAttribute *att);

    RoseBoolean RoseObject::put<name>(<type_ref> val, RoseAttribute * att);
    RoseBoolean RoseObject::put<name>(<type_ref> val, char * att_name);