summaryrefslogtreecommitdiff
path: root/src/third_party/boost-1.56.0/boost/concept/requires.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/boost-1.56.0/boost/concept/requires.hpp')
-rw-r--r--src/third_party/boost-1.56.0/boost/concept/requires.hpp93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/third_party/boost-1.56.0/boost/concept/requires.hpp b/src/third_party/boost-1.56.0/boost/concept/requires.hpp
deleted file mode 100644
index 365ce10045f..00000000000
--- a/src/third_party/boost-1.56.0/boost/concept/requires.hpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright David Abrahams 2006. Distributed under 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_CONCEPT_REQUIRES_DWA2006430_HPP
-# define BOOST_CONCEPT_REQUIRES_DWA2006430_HPP
-
-# include <boost/config.hpp>
-# include <boost/concept/assert.hpp>
-# include <boost/preprocessor/seq/for_each.hpp>
-
-namespace boost {
-
-// unaryfunptr_arg_type from parameter/aux_/parenthesized_type.hpp
-
-namespace ccheck_aux {
-
-// A metafunction that transforms void(*)(T) -> T
-template <class UnaryFunctionPointer>
-struct unaryfunptr_arg_type;
-
-template <class Arg>
-struct unaryfunptr_arg_type<void(*)(Arg)>
-{
- typedef Arg type;
-};
-
-template <>
-struct unaryfunptr_arg_type<void(*)(void)>
-{
- typedef void type;
-};
-
-} // namespace ccheck_aux
-
-// Template for use in handwritten assertions
-template <class Model, class More>
-struct requires_ : More
-{
- BOOST_CONCEPT_ASSERT((Model));
-};
-
-// Template for use by macros, where models must be wrapped in parens.
-// This isn't in namespace detail to keep extra cruft out of resulting
-// error messages.
-template <class ModelFn>
-struct _requires_
-{
- enum { value = 0 };
- BOOST_CONCEPT_ASSERT_FN(ModelFn);
-};
-
-template <int check, class Result>
-struct Requires_ : ::boost::ccheck_aux::unaryfunptr_arg_type<Result>
-{
-};
-
-# if BOOST_WORKAROUND(BOOST_INTEL_WIN, BOOST_TESTED_AT(1010))
-# define BOOST_CONCEPT_REQUIRES_(r,data,t) | (::boost::_requires_<void(*)t>::value)
-# else
-# define BOOST_CONCEPT_REQUIRES_(r,data,t) + (::boost::_requires_<void(*)t>::value)
-# endif
-
-#if defined(NDEBUG)
-
-# define BOOST_CONCEPT_REQUIRES(models, result) \
- typename ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result>::type
-
-#elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
-
-// Same thing as below without the initial typename
-# define BOOST_CONCEPT_REQUIRES(models, result) \
- ::boost::Requires_< \
- (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \
- ::boost::ccheck_aux::unaryfunptr_arg_type<void(*)result> \
- >::type
-
-#else
-
-// This just ICEs on MSVC6 :(
-# define BOOST_CONCEPT_REQUIRES(models, result) \
- typename ::boost::Requires_< \
- (0 BOOST_PP_SEQ_FOR_EACH(BOOST_CONCEPT_REQUIRES_, ~, models)), \
- void(*)result \
- >::type
-
-#endif
-
-// C++0x proposed syntax changed. This supports an older usage
-#define BOOST_CONCEPT_WHERE(models,result) BOOST_CONCEPT_REQUIRES(models,result)
-
-} // namespace boost::concept_check
-
-#endif // BOOST_CONCEPT_REQUIRES_DWA2006430_HPP