6#include <istd/CChangeGroup.h>
9#include <imtbase/CIdentifiable.h>
17class TIdentifiableWrap:
public Base,
public CIdentifiable
20 typedef CIdentifiable BaseClass;
23 virtual bool Serialize(iser::IArchive& archive)
override;
26 virtual int GetSupportedOperations()
const override;
27 virtual bool CopyFrom(
const IChangeable&
object, CompatibilityMode mode = CM_WITHOUT_REFS)
override;
28 virtual bool IsEqual(
const istd::IChangeable&
object)
const override;
29 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS)
const override;
30 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS)
override;
39bool TIdentifiableWrap<Base>::Serialize(iser::IArchive& archive)
41 bool retVal = BaseClass::Serialize(archive);
43 retVal = retVal && Base::Serialize(archive);
52int TIdentifiableWrap<Base>::GetSupportedOperations()
const
54 return Base::GetSupportedOperations();
59bool TIdentifiableWrap<Base>::CopyFrom(
const istd::IChangeable&
object, CompatibilityMode mode)
61 istd::CChangeGroup changeGroup(
this);
63 bool retVal = Base::CopyFrom(
object, mode);
64 retVal = retVal && BaseClass::CopyFrom(
object, mode);
71bool TIdentifiableWrap<Base>::IsEqual(
const istd::IChangeable&
object)
const
73 bool retVal = Base::IsEqual(
object);
74 retVal = retVal && BaseClass::IsEqual(
object);
81istd::IChangeableUniquePtr TIdentifiableWrap<Base>::CloneMe(CompatibilityMode mode)
const
83 istd::IChangeableUniquePtr clonePtr(
new TIdentifiableWrap<Base>());
84 if (clonePtr->CopyFrom(*
this, mode)){
93bool TIdentifiableWrap<Base>::ResetData(CompatibilityMode mode)
95 istd::CChangeGroup changeGroup(
this);
97 bool retVal = Base::ResetData(mode);
98 retVal = retVal && BaseClass::ResetData(mode);