summaryrefslogtreecommitdiff
path: root/boost/implicit_cast.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/implicit_cast.hpp')
-rw-r--r--boost/implicit_cast.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/boost/implicit_cast.hpp b/boost/implicit_cast.hpp
index 5b1cd92b9b..d82db7628e 100644
--- a/boost/implicit_cast.hpp
+++ b/boost/implicit_cast.hpp
@@ -5,17 +5,24 @@
#ifndef IMPLICIT_CAST_DWA200356_HPP
# define IMPLICIT_CAST_DWA200356_HPP
-# include <boost/mpl/identity.hpp>
-
namespace boost {
+namespace detail {
+
+template<class T> struct icast_identity
+{
+ typedef T type;
+};
+
+} // namespace detail
+
// implementation originally suggested by C. Green in
// http://lists.boost.org/MailArchives/boost/msg00886.php
// The use of identity creates a non-deduced form, so that the
// explicit template argument must be supplied
template <typename T>
-inline T implicit_cast (typename mpl::identity<T>::type x) {
+inline T implicit_cast (typename boost::detail::icast_identity<T>::type x) {
return x;
}