00001 00042 #ifndef GALOIS_TYPETRAITS_H 00043 #define GALOIS_TYPETRAITS_H 00044 00045 #include <boost/mpl/has_xxx.hpp> 00046 namespace Galois { 00047 00052 BOOST_MPL_HAS_XXX_TRAIT_DEF(tt_needs_parallel_break) 00053 template<typename T> 00054 struct needs_parallel_break : public has_tt_needs_parallel_break<T> {}; 00055 00059 BOOST_MPL_HAS_XXX_TRAIT_DEF(tt_does_not_need_parallel_push) 00060 template<typename T> 00061 struct does_not_need_parallel_push : public has_tt_does_not_need_parallel_push<T> {}; 00062 00067 BOOST_MPL_HAS_XXX_TRAIT_DEF(tt_needs_per_iter_alloc) 00068 template<typename T> 00069 struct needs_per_iter_alloc : public has_tt_needs_per_iter_alloc<T> {}; 00070 00074 BOOST_MPL_HAS_XXX_TRAIT_DEF(tt_does_not_need_context) 00075 template<typename T> 00076 struct does_not_need_context : public has_tt_does_not_need_context<T> {}; 00077 00081 BOOST_MPL_HAS_XXX_TRAIT_DEF(tt_does_not_need_stats) 00082 template<typename T> 00083 struct does_not_need_stats : public has_tt_does_not_need_stats<T> {}; 00084 00085 } 00086 #endif