#pragma once #include "XMLSerialization.h" namespace OTSMODEL { class __declspec(dllexport) CPartSizeClass : public xmls::ISlo { public: CPartSizeClass(); // constructor CPartSizeClass(const CPartSizeClass&); // copy constructor CPartSizeClass(CPartSizeClass*); // copy constructor CPartSizeClass& operator=(const CPartSizeClass&); // =operator BOOL operator==(const CPartSizeClass&); // ==operator virtual ~CPartSizeClass(); // destruct // serialization void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); // size class name CString GetName() { return m_strName; } void SetName(CString a_strName) { m_strName = a_strName; } // class data list std::vector& GetSizeClassList() { return m_listSizeClass; } void SetSizeClassList(std::vector a_listSizeClass) { m_listSizeClass = a_listSizeClass; } // validation BOOL IsValid(); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const CPartSizeClass& a_oSource); // name CString m_strName; // class data list std::vector m_listSizeClass; }; typedef std::shared_ptr __declspec(dllexport) CPartSizeClassPtr; typedef std::vector __declspec(dllexport) CPartSizeClassList; }