The RoseRefUsage class is used internally by the ROSE library to associate an external reference to a particular object field. This forms a dual-linked list so that one can traverse all of the references from a particular object or all uses of a particular reference.
unsigned long fileline()The fileline() member holds the line number where the reference was used in the original STEP file. For reporting purposes.
RoseRefUsage * next_for_ref();The next_for_ref() member is the next usage in the linked list holding all uses of a particular reference.
RoseRefUsage * next_for_user();The next_for_user() member is the next usage in the linked list holding all references used by a particular data object.
RoseRefUsage * prev_for_ref();The prev_for_ref() member is the previous usage in the linked list holding all uses of a particular reference.
RoseRefUsage * prev_for_user();The prev_for_user() member is the previous usage in the linked list holding all references used by a particular data object.
RoseReference * ref();The ref() member is the RoseReference object that describes the URL and possibly the resolved value of a reference.
RoseBoolean resolve (RoseObject * obj);
The resolve() function assigns a value to the field called out by the usage object, attribute, and index. The function returns true if all assignments succeeded, or false if any of the assignments failed. An assignment can fail if the object is not the correct type for an attribute field.
Typically, this function is called by RoseReference::resolve_usage()
RoseObject * user();The user() member is the data object that has a field containing an external reference.
RoseAttribute * user_att();The user_att() member is the RoseAttribute for the field in the data object that contains an external reference.
unsigned user_idx();The user_idx() member is the index of the external reference in an aggregates data object. This is zero for data objects that are not aggregates.