//---------------------------------------------------------------------------- // // Copyright (C) Intel Corporation, 2007 - 2008. // // File: ConfigElement.h // // Contents: Defines elements that contain data members of different types // // Notes: //---------------------------------------------------------------------------- #ifndef CONFIG_ELEMENT_H #define CONFIG_ELEMENT_H //------------------ // Classes //------------------ /* * Base element (purpose - a base for any Element) */ class BaseElement { public: // ctor BaseElement() {} // dtor virtual ~BaseElement() {} }; /* * Wraps a class T type. */ template class Element : public BaseElement { public: // ctor Element(const T &element) : element_(element) {} // gets a pointer to the element that is wrapped. T * getElement() { return &element_; } Element() : element_() {}; private: //-------------- // Data Members //-------------- T element_; }; #endif /* CONFIG_ELEMENT_H */