This interface provides the necessary abstract methods to create an output adapter for any kind of structure or enum found in an API_Element, API_ElementMemo, API_PrimElement, API_Attribute, API_AttributeDefExt or API_LayoutInfo. Since these API types do not have a common ancestor type it is necessary to create a different overload for each type. If the user doesn’t need to create every type of adapter it is advised to derive the OutputAdapterFactory from the NullTypeOutputAdapterFactory in the DefaultImplementation folder, and overload only the necessary virtual methods. The interface also holds a reference to the IAPIOutputManager object provided by the user, which it sets for each adapter it returns. There’s also a managedAdapters flag which tells whether the factory is responsible for destroying the adapters (true) or not (false). This flag was added to support flyweight factories.
Version: API 10.21 or later