These template (GSAPI::IteratorElem, GSAPI::Element) and non-template (GSAPI::PrimElement) structures provide a common interface for the elements contained by the different containers and referenced by the different iterators.
template <typename ElemType> struct GSAPI::IteratorElem { API_DatabaseInfo databaseInfo; ElemType elem; };
template <typename ElemType> struct GSAPI::Element { API_ElemTypeID elemType; UInt32 unId; ElemType element; API_ElementMemo* memo; };
struct GSAPI::PrimElement { API_PrimElement primElem; GSPtr shapeProcParam1; GSPtr shapeProcParam2; GSPtr shapeProcParam3; };
Description
The IteratorElem structure is as follows:
- an API_DatabaseInfo structure of the database which contains the element, and
- either an API_Attribute
- or an Element which in turn contains
- the type, unique ID and possibly the API_ElementMemo of the API_Element it contains
- the element which is either an API_Element
- or a API_PrimElement of an API_Element which in turn contains
- the API_PrimElement
- and all the supplemental data returned by the ShapePrimsProc () for that primitive.
Requirements
Namespace: GSAPI
Header: GSAPIWrappers.hpp
Version: API 10.21 or later