#include "stdafx.h" #include "STDItemClr.h" namespace OTSINTERFACE { CSTDItemClr::CSTDItemClr() { mSTDItm =new CSTDItemPtr( new CSTDItem()); } CSTDItemClr::!CSTDItemClr() { if (mSTDItm != nullptr) { delete mSTDItm; mSTDItm = nullptr; } } CSTDItemClr::~CSTDItemClr() { if (mSTDItm != nullptr) { delete mSTDItm; mSTDItm = nullptr; } } CSTDItemClr::CSTDItemClr(CSTDItemPtr pSTDItem) // copy constructor { mSTDItm = new CSTDItemPtr(pSTDItem); } CSTDItemPtr CSTDItemClr::GetSTDItemPtr() { return *mSTDItm; } CElementRangeListClr ^ CSTDItemClr::GetElementRangeList() { CElementRangeListClr^ eleRans = gcnew CElementRangeListClr(); auto elementRans = mSTDItm->get()->GetElementRangeList(); for (auto eleRan : elementRans) { eleRans->Add(gcnew CElementRangeClr(eleRan)); } return eleRans; } void CSTDItemClr::SetElementRangeList(CElementRangeListClr ^ a_istElementRange) { CElementRangeList itms; auto eleEnum = a_istElementRange->GetEnumerator(); for (;eleEnum.MoveNext();) { itms.push_back(eleEnum.Current->GetElementRangePtr()); } mSTDItm->get()->SetElementRangeList(itms, true); } }