メインページ | ネームスペース一覧 | クラス階層 | 構成 | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

destruct.h

説明を見る。
00001 #ifndef STATIC_CONTAINER_CONTAINER_DESTRUCT_H
00002 
00003 #define STATIC_CONTAINER_CONTAINER_DESTRUCT_H
00004 
00005 #include <boost/type_traits/is_pod.hpp>
00006 #include <boost/mpl/if.hpp>
00007 
00008 namespace static_container {
00009     namespace detail {
00010         template < typename T >
00011         struct destructor_caller {
00012             static void call( T& t ) {
00013                 t.~T();
00014             }
00015         };
00016 
00017         template < typename T >
00018         struct through {
00019             static void call( T& t ) {}
00020         };
00021     }
00022     
00024     template < typename T >
00025     void destruct( T& t ) {
00026         boost::mpl::if_<
00027             boost::is_POD< T >,
00028             detail::through< T >,
00029             detail::destructor_caller< T > >::type::call( t );
00030     }
00031 }
00032 
00033 #endif

static_containerに対してSat Jun 19 11:30:58 2004に生成されました。 doxygen 1.3.6