API Output Framework helper templates

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;


The IteratorElem structure is as follows:


Namespace: GSAPI

Header: GSAPIWrappers.hpp

Version: API 10.21 or later