21 #define CEE_PRIVATE_IMPL(Class) \
22 __pragma(warning (push)) \
23 __pragma(warning (disable: 4251)) \
24 std::auto_ptr<class Class##Private> m_pimpl; \
25 __pragma(warning (pop))
29 #define CEE_PRIVATE_IMPL(Class) \
30 std::auto_ptr<class Class##Private> m_pimpl
34 #define CEE_BASE_F(Class) \
37 #define CEE_PRIVATE_F(Class) \
38 friend class Class##Private
40 #define CEE_PRIVATE_INIT(Class) \
41 m_pimpl = std::auto_ptr<Class##Private>(new Class##Private)
43 #define CEE_PRIVATE_INIT_PARAM1(Class, ConstrutorParam1) \
44 m_pimpl = std::auto_ptr<Class##Private>(new Class##Private(ConstrutorParam1))
46 #define CEE_PRIVATE_INIT_PARAM2(Class, ConstrutorParam1, ConstrutorParam2) \
47 m_pimpl = std::auto_ptr<Class##Private>(new Class##Private(ConstrutorParam1, ConstrutorParam2))
49 #define CEE_PRIVATE_INIT_PARAM3(Class, ConstrutorParam1, ConstrutorParam2, ConstrutorParam3) \
50 m_pimpl = std::auto_ptr<Class##Private>(new Class##Private(ConstrutorParam1, ConstrutorParam2, ConstrutorParam3))
52 #define CEE_PRIVATE_INIT_PARAM4(Class, ConstrutorParam1, ConstrutorParam2, ConstrutorParam3, ConstrutorParam4) \
53 m_pimpl = std::auto_ptr<Class##Private>(new Class##Private(ConstrutorParam1, ConstrutorParam2, ConstrutorParam3, ConstrutorParam4))