diff options
Diffstat (limited to 'libcutl/cutl/details/boost/checked_delete.hpp')
-rw-r--r-- | libcutl/cutl/details/boost/checked_delete.hpp | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/libcutl/cutl/details/boost/checked_delete.hpp b/libcutl/cutl/details/boost/checked_delete.hpp deleted file mode 100644 index dc2ef66..0000000 --- a/libcutl/cutl/details/boost/checked_delete.hpp +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED -#define BOOST_CHECKED_DELETE_HPP_INCLUDED - -// MS compatible compilers support #pragma once - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -# pragma once -#endif - -// -// boost/checked_delete.hpp -// -// Copyright (c) 2002, 2003 Peter Dimov -// Copyright (c) 2003 Daniel Frey -// Copyright (c) 2003 Howard Hinnant -// -// Distributed under the Boost Software License, Version 1.0. (See -// accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/utility/checked_delete.html for documentation. -// - -namespace cutl_details_boost -{ - -// verify that types are complete for increased safety - -template<class T> inline void checked_delete(T * x) -{ - // intentionally complex - simplification causes regressions - typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; - (void) sizeof(type_must_be_complete); - delete x; -} - -template<class T> inline void checked_array_delete(T * x) -{ - typedef char type_must_be_complete[ sizeof(T)? 1: -1 ]; - (void) sizeof(type_must_be_complete); - delete [] x; -} - -template<class T> struct checked_deleter -{ - typedef void result_type; - typedef T * argument_type; - - void operator()(T * x) const - { - // cutl_details_boost:: disables ADL - cutl_details_boost::checked_delete(x); - } -}; - -template<class T> struct checked_array_deleter -{ - typedef void result_type; - typedef T * argument_type; - - void operator()(T * x) const - { - cutl_details_boost::checked_array_delete(x); - } -}; - -} // namespace cutl_details_boost - -#endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED |