1 #ifndef BOOSTER_CHECKED_DELETE_H
2 #define BOOSTER_CHECKED_DELETE_H
25 template<
class T>
inline void checked_delete(T * x)
28 typedef char type_must_be_complete[
sizeof(T)? 1: -1 ];
29 (void)
sizeof(type_must_be_complete);
33 template<
class T>
inline void checked_array_delete(T * x)
35 typedef char type_must_be_complete[
sizeof(T)? 1: -1 ];
36 (void)
sizeof(type_must_be_complete);
40 template<
class T>
struct checked_deleter
42 typedef void result_type;
43 typedef T * argument_type;
45 void operator()(T * x)
const
48 booster::checked_delete(x);
52 template<
class T>
struct checked_array_deleter
54 typedef void result_type;
55 typedef T * argument_type;
57 void operator()(T * x)
const
59 booster::checked_array_delete(x);
65 #endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED