diff --git a/include/loki/Pimpl.h b/include/loki/Pimpl.h index 0b5523a..f43b81c 100755 --- a/include/loki/Pimpl.h +++ b/include/loki/Pimpl.h @@ -25,7 +25,7 @@ namespace Loki { - ///////////////////// + ///////////////////// // template for the implementations ///////////////////// template @@ -45,12 +45,12 @@ namespace Loki struct AutoDeletePimpl { static void Destroy(T ptr) - { - typedef char T_must_be_defined[ - sizeof(typename TypeTraits::PointeeType) ? 1 : -1 ]; - delete ptr; - ptr = 0; - } + { + typedef char T_must_be_defined[ + sizeof(typename TypeTraits::PointeeType) ? 1 : -1 ]; + delete ptr; + ptr = 0; + } }; template @@ -65,41 +65,41 @@ namespace Loki // Helper class AutoPtrHolder to manage pimpl lifetime ///////////////////// - namespace Private - - { - template - < - class Impl, - class Ptr, - template class Del - > - struct AutoPtrHolder - { - AutoPtrHolder() //: ptr(Ptr()) this owerwrites the pointer to PtrImpl - {} // when using DeclaredRimpl!! + namespace Private + + { + template + < + class Impl, + class Ptr, + template class Del + > + struct AutoPtrHolder + { + AutoPtrHolder() //: ptr(Ptr()) this owerwrites the pointer to PtrImpl + {} // when using DeclaredRimpl!! - ~AutoPtrHolder() - { - // delete automatically by the delete policy - Del::Destroy( ptr ); - } + ~AutoPtrHolder() + { + // delete automatically by the delete policy + Del::Destroy( ptr ); + } - template - operator T&() - { - Create(); - return *ptr; - } + template + operator T&() + { + Create(); + return *ptr; + } - Ptr Create() - { - ptr = Ptr( new Impl ); - return ptr; - } + Ptr Create() + { + ptr = Ptr( new Impl ); + return ptr; + } - Ptr ptr; - }; + Ptr ptr; + }; template struct HavePtrHolder @@ -116,7 +116,7 @@ namespace Loki template class Del> class InheritedPimpl : private - Private::HavePtrHolder > + Private::HavePtrHolder > { typedef Private::HavePtrHolder > PtrHolder; @@ -127,13 +127,13 @@ namespace Loki InheritedPimpl() : LOKI_INHERITED_PIMPL_NAME(PtrHolder::ptr.Create()) {} - private: - InheritedPimpl& operator=(const InheritedPimpl&); + private: + InheritedPimpl& operator=(const InheritedPimpl&); }; template class Del> - class DeclaredPimpl : private - Private::HavePtrHolder > + class DeclaredPimpl : private + Private::HavePtrHolder > { typedef Private::HavePtrHolder > PtrHolder; @@ -149,11 +149,11 @@ namespace Loki } protected: - DeclaredPimpl() : ptr(PtrHolder::ptr.Create()) + DeclaredPimpl() : ptr(PtrHolder::ptr.Create()) {} private: - DeclaredPimpl& operator=(const DeclaredPimpl&); + DeclaredPimpl& operator=(const DeclaredPimpl&); const Ptr ptr; }; @@ -164,7 +164,7 @@ namespace Loki template class Del> class InheritedRimpl : private - Private::HavePtrHolder > + Private::HavePtrHolder > { typedef Private::HavePtrHolder > PtrHolder; @@ -215,8 +215,8 @@ namespace Loki PtrImpl() : UsagePolicy() {} - private: - PtrImpl& operator=(const PtrImpl&); + private: + PtrImpl& operator=(const PtrImpl&); }; @@ -229,7 +229,7 @@ namespace Loki template struct Pimpl { - // declare pimpl + // declare pimpl typedef PtrImpl < Impl, @@ -239,7 +239,7 @@ namespace Loki > Type; - // inherit pimpl + // inherit pimpl typedef PtrImpl < Impl, @@ -255,7 +255,7 @@ namespace Loki struct Rimpl { - // declare rimpl + // declare rimpl typedef PtrImpl < Impl, @@ -265,8 +265,8 @@ namespace Loki > Type; - // init declared rimpl - typedef Private::AutoPtrHolder + // init declared rimpl + typedef Private::AutoPtrHolder < Type, Type*, @@ -275,7 +275,7 @@ namespace Loki Init; - // ingerit rimpl + // ingerit rimpl typedef PtrImpl < Impl, diff --git a/test/Pimpl/main.cpp b/test/Pimpl/main.cpp index be83ac1..ef41ebb 100755 --- a/test/Pimpl/main.cpp +++ b/test/Pimpl/main.cpp @@ -143,18 +143,18 @@ void test_more(); void heap_debug() { - int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); + int tmpFlag = _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ); - // Turn on leak-checking bit - tmpFlag |= _CRTDBG_LEAK_CHECK_DF; + // Turn on leak-checking bit + tmpFlag |= _CRTDBG_LEAK_CHECK_DF; - //tmpFlag |= _CRTDBG_CHECK_ALWAYS_DF; + //tmpFlag |= _CRTDBG_CHECK_ALWAYS_DF; - // Turn off CRT block checking bit - tmpFlag &= ~_CRTDBG_CHECK_CRT_DF; + // Turn off CRT block checking bit + tmpFlag &= ~_CRTDBG_CHECK_CRT_DF; - // Set flag to the new value - _CrtSetDbgFlag( tmpFlag ); + // Set flag to the new value + _CrtSetDbgFlag( tmpFlag ); } @@ -170,7 +170,7 @@ void heap_debug() int main() { - heap_debug(); + heap_debug(); A* a = new A; B* b = new B; @@ -219,15 +219,15 @@ void test_more() { Loki::Printf("\n\nMore tests:\n"); - Loki::Printf("\nCreating Pimpls\n"); + Loki::Printf("\nCreating Pimpls\n"); P1* p1 = new P1; P2* p2 = new P2; P3* p3 = new P3; P4* p4 = new P4; P5* p5 = new P5; - P6* p6 = new P6; + P6* p6 = new P6; - Loki::Printf("\nCreating Rimpls\n"); + Loki::Printf("\nCreating Rimpls\n"); R1* r1 = new R1; R2* r2 = new R2; R3* r3 = new R3; @@ -236,16 +236,16 @@ void test_more() R6* r6 = new R6; - Loki::Printf("\nDeleting Pimpls\n"); - delete p1; + Loki::Printf("\nDeleting Pimpls\n"); + delete p1; delete p2; delete p3; delete p4; delete p5; - delete p6; + delete p6; Loki::Printf("\nDeleting Rimpls\n"); - delete r1; + delete r1; delete r2; delete r3; delete r4;