ACF $AcfVersion:0$
TCloneableWrap.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/IChangeable.h>
7
8
9namespace istd
10{
11
12
13template <class ModelImpl>
14class TCloneableWrap: public ModelImpl
15{
16public:
17 // pseudo-reimplemented (istd::IChangeable)
19};
20
21
22// pseudo-reimplemented (istd::IChangeable)
23
24template <class ModelImpl>
26{
27 istd::IChangeableUniquePtr clonePtr(new ModelImpl);
28 if (clonePtr->CopyFrom(*this, mode)){
29 return clonePtr;
30 }
31
33}
34
35
36} // namespace istd
37
38
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
virtual istd::IChangeableUniquePtr CloneMe(istd::IChangeable::CompatibilityMode mode=istd::IChangeable::CM_WITHOUT_REFS) const override
Standard library.
Definition IComponent.h:17
istd::TUniqueInterfacePtr< istd::IChangeable > IChangeableUniquePtr