summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/Boost/src/boost/parameter/aux_/template_keyword.hpp')
-rwxr-xr-x3rdParty/Boost/src/boost/parameter/aux_/template_keyword.hpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/3rdParty/Boost/src/boost/parameter/aux_/template_keyword.hpp b/3rdParty/Boost/src/boost/parameter/aux_/template_keyword.hpp
new file mode 100755
index 0000000..5a02f00
--- /dev/null
+++ b/3rdParty/Boost/src/boost/parameter/aux_/template_keyword.hpp
@@ -0,0 +1,47 @@
+// Copyright Daniel Wallin 2006. Use, modification and distribution is
+// 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)
+
+#ifndef BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
+# define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
+
+# include <boost/mpl/and.hpp>
+# include <boost/mpl/not.hpp>
+# include <boost/type_traits/is_convertible.hpp>
+# include <boost/type_traits/is_reference.hpp>
+
+namespace boost { namespace parameter {
+
+namespace aux
+{
+
+ struct template_keyword_tag {};
+
+ template <class T, class U>
+ struct is_pointer_convertible
+ : is_convertible<T*, U*>
+ {};
+
+ template <class T>
+ struct is_template_keyword
+ : mpl::and_<
+ mpl::not_<is_reference<T> >
+ , is_pointer_convertible<T, template_keyword_tag>
+ >
+ {};
+
+} // namespace aux
+
+template <class Tag, class T>
+struct template_keyword
+ : aux::template_keyword_tag
+{
+ typedef Tag key_type;
+ typedef T value_type;
+ typedef value_type reference;
+};
+
+}} // namespace boost::parameter
+
+#endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
+