#ifndef COMPOSITION_LIBRARY_HEADER #define COMPOSITION_LIBRARY_HEADER namespace compositionlib{ template <class T> class __attribute__ ((visibility("default"))) CompositeElement{ public: // Default Constructor explicit __attribute__ ((visibility("default"))) CompositeElement( ); // Specialized Template Argument Constructor explicit __attribute__ ((visibility("default"))) CompositeElement( T const& payload ); // Copy Constructor explicit __attribute__ ((visibility("default"))) CompositeElement( CompositeElement const& other ); // Copy Constructor with contents explicit __attribute__ ((visibility("default"))) CompositeElement( CompositeElement const& other, T const& payload ); const std::auto_ptr< T >& getData() const; const size_t & getSize() const; private: const size_t m_size; const std::auto_ptr<T> m_data; public: bool m_isCopiedConstructed; // CompositeElement __attribute__ ((visibility("default"))) m_CompositeElementData; incomlete type CompositeElement __attribute__ ((visibility("default"))) *m_ptrOfCompositeElementData; CompositeElement __attribute__ ((visibility("default"))) **m_setOfCompositeElementData; }; } #endif //COMPOSITION_LIBRARY_HEADER
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)