diff --git a/include/loki/PimplDef.h b/include/loki/PimplDef.h deleted file mode 100755 index 6f42e80..0000000 --- a/include/loki/PimplDef.h +++ /dev/null @@ -1,92 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// The Loki Library -// Copyright (c) 2006 Peter Kümmel -// Permission to use, copy, modify, distribute and sell this software for any -// purpose is hereby granted without fee, provided that the above copyright -// notice appear in all copies and that both that copyright notice and this -// permission notice appear in supporting documentation. -// The author makes no representations about the -// suitability of this software for any purpose. It is provided "as is" -// without express or implied warranty. -//////////////////////////////////////////////////////////////////////////////// -#ifndef LOKI_PIMPLDEF_H -#define LOKI_PIMPLDEF_H - -#include - -namespace Loki -{ - template - void AutoDeletePimpl::Destroy(T ptr) - { -#ifndef _MSC_VER // msvc bug - - typedef char T_must_be_defined[ - sizeof(typename TypeTraits::PointeeType) ? 1 : -1 ]; - delete ptr; - ptr = 0; - -#else - -#pragma warning(push) -#pragma warning(disable: 4150) - - delete ptr; - ptr = 0; - -#pragma warning(pop) -#endif - } - - - template - < - class Impl, - class Ptr, - template class Del - > - inline - PimplLife::PimplLife() //: ptr(Ptr()) this owerwrites the pointer to PtrImpl - {} // when using DeclaredRimpl!! - - template - < - class Impl, - class Ptr, - template class Del - > - inline - PimplLife::~PimplLife() - { - Del::Destroy( ptr ); - } - - template - < - class Impl, - class Ptr, - template class Del - > - template - inline - PimplLife::operator T&() - { - ptr = Ptr( new Impl ); - return *ptr; - } - - template - < - class Impl, - class Ptr, - template class Del - > - inline - Ptr PimplLife::Create() - { - ptr = Ptr( new Impl ); - return ptr; - } -} - -#endif