Index: third_party/boost/boost/type_traits/decay.hpp |
diff --git a/third_party/boost/boost/type_traits/decay.hpp b/third_party/boost/boost/type_traits/decay.hpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c23a9b0f15a63b023265b462396446158107cc03 |
--- /dev/null |
+++ b/third_party/boost/boost/type_traits/decay.hpp |
@@ -0,0 +1,44 @@ |
+// (C) Copyright John Maddock & Thorsten Ottosen 2005. |
+// Use, modification and distribution are subject to the Boost Software License, |
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at |
+// http://www.boost.org/LICENSE_1_0.txt). |
+// |
+// See http://www.boost.org/libs/type_traits for most recent version including documentation. |
+ |
+ |
+#ifndef BOOST_TT_DECAY_HPP_INCLUDED |
+#define BOOST_TT_DECAY_HPP_INCLUDED |
+ |
+#include <boost/type_traits/config.hpp> |
+#include <boost/type_traits/is_array.hpp> |
+#include <boost/type_traits/is_function.hpp> |
+#include <boost/type_traits/remove_bounds.hpp> |
+#include <boost/type_traits/add_pointer.hpp> |
+#include <boost/type_traits/remove_reference.hpp> |
+#include <boost/mpl/eval_if.hpp> |
+#include <boost/mpl/identity.hpp> |
+ |
+namespace boost |
+{ |
+ |
+ template< class T > |
+ struct decay |
+ { |
+ private: |
+ typedef BOOST_DEDUCED_TYPENAME remove_reference<T>::type Ty; |
+ public: |
+ typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< |
+ is_array<Ty>, |
+ mpl::identity<BOOST_DEDUCED_TYPENAME remove_bounds<Ty>::type*>, |
+ BOOST_DEDUCED_TYPENAME mpl::eval_if< |
+ is_function<Ty>, |
+ add_pointer<Ty>, |
+ mpl::identity<Ty> |
+ > |
+ >::type type; |
+ }; |
+ |
+} // namespace boost |
+ |
+ |
+#endif // BOOST_TT_DECAY_HPP_INCLUDED |