#include <boost/preprocessor/repetition/enum.hpp>
#include <boost/preprocessor/array/enum.hpp>
#include <boost/preprocessor/array/size.hpp>
-#include <boost/type_traits/is_class.hpp>
+#include <boost/tti/detail/denclosing_type.hpp>
+#include <boost/tti/gen/namespace_gen.hpp>
#if !defined(BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE)
typedef typename \
boost::mpl::eval_if \
< \
- boost::is_class<BOOST_TTI_DETAIL_TP_T>, \
+ BOOST_TTI_NAMESPACE::detail::enclosing_type<BOOST_TTI_DETAIL_TP_T>, \
BOOST_PP_CAT(trait,_detail_cp_op)<BOOST_TTI_DETAIL_TP_T>, \
boost::mpl::false_ \
>::type type; \