|
#include <smart_ptr.hpp>
#include "../shape_test.h" void example_deep_copy_policy_usage() { smart_ptr<ShapeWithNoCloneLogic, deep_copy_policy<> > pShapeWithNoCloneLogic1 = new CircleWithNoCloneLogic; smart_ptr<ShapeWithNoCloneLogic, deep_copy_policy<> > pShapeWithNoCloneLogic2(pShapeWithNoCloneLogic1); cout << pShapeWithNoCloneLogic2->GetTypeName() << endl; smart_ptr<Shape, deep_copy_policy<> > pShape1 = new Square("Blue"); smart_ptr<Shape, deep_copy_policy<> > pShape2 = pShape1; cout << pShape2->GetShapeName() << endl; }
Definition at line 856 of file smart_ptr.hpp.
Public Member Functions | |
deep_copy_policy () | |
template<class T1, class F1, class T2> | |
deep_copy_policy (deep_copy_policy &, T1 type_src, F1 clone_fct, T2 &type_target) | |
template<class T, class F, class LCK> | |
void | release (T &type, F clone_fct, LCK &) |
template<class T1, class F1, class T2, class F2, class LCK> | |
void | assign (T1 &type1, F1 &clone_fct1, T2 type2, const F2 clone_fct2, deep_copy_policy &, LCK &lck_policy) |
template<class T, class F> | |
T & | get_non_constant_ptr (T &type, const F &) |