summaryrefslogtreecommitdiff
path: root/boost/icl/type_traits/rep_type_of.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/icl/type_traits/rep_type_of.hpp')
-rw-r--r--boost/icl/type_traits/rep_type_of.hpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/boost/icl/type_traits/rep_type_of.hpp b/boost/icl/type_traits/rep_type_of.hpp
index 4cdc6cc4cb..27318a998e 100644
--- a/boost/icl/type_traits/rep_type_of.hpp
+++ b/boost/icl/type_traits/rep_type_of.hpp
@@ -13,6 +13,7 @@ Copyright (c) 2008-2009: Joachim Faulhaber
#include <boost/mpl/or.hpp>
#include <boost/mpl/and.hpp>
#include <boost/mpl/not.hpp>
+#include <boost/type_traits/is_same.hpp>
#include <boost/icl/type_traits/no_type.hpp>
namespace boost{ namespace icl
@@ -24,7 +25,7 @@ namespace boost{ namespace icl
//--------------------------------------------------------------------------
template <class Type>
- struct has_rep_type
+ struct has_rep_type
: mpl::bool_<detail::has_rep<Type>::value>
{};
@@ -33,14 +34,14 @@ namespace boost{ namespace icl
: mpl::bool_<detail::has_rep<Type>::value>
{
typedef represents type;
- BOOST_STATIC_CONSTANT(bool,
+ BOOST_STATIC_CONSTANT(bool,
value = (mpl::and_< has_rep_type<Type>
- , is_same<typename Type::rep, Rep> >::value)
+ , boost::is_same<typename Type::rep, Rep> >::value)
);
};
//--------------------------------------------------------------------------
- template <class Type, bool has_rep>
+ template <class Type, bool has_rep>
struct get_rep_type;
template <class Type>
@@ -56,15 +57,13 @@ namespace boost{ namespace icl
};
//--------------------------------------------------------------------------
- template<class Type>
+ template<class Type>
struct rep_type_of
- {
- typedef typename
+ {
+ typedef typename
get_rep_type<Type, has_rep_type<Type>::value>::type type;
};
}} // namespace boost icl
#endif
-
-