diff options
Diffstat (limited to '3rdParty/Boost/src/boost/concept')
6 files changed, 70 insertions, 19 deletions
diff --git a/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp b/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp new file mode 100644 index 0000000..88d5921 --- /dev/null +++ b/3rdParty/Boost/src/boost/concept/detail/backward_compatibility.hpp @@ -0,0 +1,16 @@ +// Copyright David Abrahams 2009. 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_BACKWARD_COMPATIBILITY_DWA200968_HPP +# define BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP + +namespace boost +{ + namespace concepts {} + +# if !defined(BOOST_NO_CONCEPTS) && !defined(BOOST_CONCEPT_NO_BACKWARD_KEYWORD) + namespace concept = concepts; +# endif +} // namespace boost::concept + +#endif // BOOST_CONCEPT_BACKWARD_COMPATIBILITY_DWA200968_HPP diff --git a/3rdParty/Boost/src/boost/concept/detail/borland.hpp b/3rdParty/Boost/src/boost/concept/detail/borland.hpp index 59fec55..300d5d4 100644 --- a/3rdParty/Boost/src/boost/concept/detail/borland.hpp +++ b/3rdParty/Boost/src/boost/concept/detail/borland.hpp @@ -5,8 +5,9 @@ # define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP # include <boost/preprocessor/cat.hpp> +# include <boost/concept/detail/backward_compatibility.hpp> -namespace boost { namespace concept { +namespace boost { namespace concepts { template <class ModelFnPtr> struct require; @@ -21,7 +22,7 @@ struct require<void(*)(Model)> enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - boost::concept::require<ModelFnPtr>::instantiate \ + boost::concepts::require<ModelFnPtr>::instantiate \ } }} // namespace boost::concept diff --git a/3rdParty/Boost/src/boost/concept/detail/general.hpp b/3rdParty/Boost/src/boost/concept/detail/general.hpp index f36f9c4..e3014c1 100644 --- a/3rdParty/Boost/src/boost/concept/detail/general.hpp +++ b/3rdParty/Boost/src/boost/concept/detail/general.hpp @@ -5,6 +5,7 @@ # define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP # include <boost/preprocessor/cat.hpp> +# include <boost/concept/detail/backward_compatibility.hpp> # ifdef BOOST_OLD_CONCEPT_SUPPORT # include <boost/concept/detail/has_constraints.hpp> @@ -13,7 +14,7 @@ // This implementation works on Comeau and GCC, all the way back to // 2.95 -namespace boost { namespace concept { +namespace boost { namespace concepts { template <class ModelFn> struct requirement_; @@ -29,6 +30,14 @@ struct requirement static void failed() { ((Model*)0)->~Model(); } }; +struct failed {}; + +template <class Model> +struct requirement<failed ************ Model::************> +{ + static void failed() { ((Model*)0)->~Model(); } +}; + # ifdef BOOST_OLD_CONCEPT_SUPPORT template <class Model> @@ -40,9 +49,9 @@ struct constraint template <class Model> struct requirement_<void(*)(Model)> : mpl::if_< - concept::not_satisfied<Model> + concepts::not_satisfied<Model> , constraint<Model> - , requirement<Model> + , requirement<failed ************ Model::************> >::type {}; @@ -51,14 +60,14 @@ struct requirement_<void(*)(Model)> // For GCC-2.x, these can't have exactly the same name template <class Model> struct requirement_<void(*)(Model)> - : requirement<Model> + : requirement<failed ************ Model::************> {}; # endif # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ - typedef ::boost::concept::detail::instantiate< \ - &::boost::concept::requirement_<ModelFnPtr>::failed> \ + typedef ::boost::concepts::detail::instantiate< \ + &::boost::concepts::requirement_<ModelFnPtr>::failed> \ BOOST_PP_CAT(boost_concept_check,__LINE__) }} diff --git a/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp b/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp index 9191181..a309db3 100644 --- a/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp +++ b/3rdParty/Boost/src/boost/concept/detail/has_constraints.hpp @@ -6,7 +6,9 @@ # include <boost/mpl/bool.hpp> # include <boost/detail/workaround.hpp> -namespace boost { namespace concept { +# include <boost/concept/detail/backward_compatibility.hpp> + +namespace boost { namespace concepts { namespace detail { @@ -43,6 +45,6 @@ struct not_satisfied typedef mpl::bool_<value> type; }; -}} // namespace boost::concept::detail +}} // namespace boost::concepts::detail #endif // BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP diff --git a/3rdParty/Boost/src/boost/concept/detail/msvc.hpp b/3rdParty/Boost/src/boost/concept/detail/msvc.hpp index 3aadb79..9fbd250 100644 --- a/3rdParty/Boost/src/boost/concept/detail/msvc.hpp +++ b/3rdParty/Boost/src/boost/concept/detail/msvc.hpp @@ -5,6 +5,7 @@ # define BOOST_CONCEPT_CHECK_MSVC_DWA2006429_HPP # include <boost/preprocessor/cat.hpp> +# include <boost/concept/detail/backward_compatibility.hpp> # ifdef BOOST_OLD_CONCEPT_SUPPORT # include <boost/concept/detail/has_constraints.hpp> @@ -12,7 +13,8 @@ # endif -namespace boost { namespace concept { +namespace boost { namespace concepts { + template <class Model> struct check @@ -22,7 +24,19 @@ struct check x->~Model(); } }; - + +# ifndef BOOST_NO_PARTIAL_SPECIALIZATION +struct failed {}; +template <class Model> +struct check<failed ************ Model::************> +{ + virtual void failed(Model* x) + { + x->~Model(); + } +}; +# endif + # ifdef BOOST_OLD_CONCEPT_SUPPORT namespace detail @@ -38,7 +52,11 @@ struct require : mpl::if_c< not_satisfied<Model>::value , detail::constraint +# ifndef BOOST_NO_PARTIAL_SPECIALIZATION , check<Model> +# else + , check<failed ************ Model::************> +# endif >::type {}; @@ -46,7 +64,11 @@ struct require template <class Model> struct require - : check<Model> +# ifndef BOOST_NO_PARTIAL_SPECIALIZATION + : check<Model> +# else + : check<failed ************ Model::************> +# endif {}; # endif @@ -70,7 +92,7 @@ struct require<void(*)(Model)> enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concept::require<ModelFnPtr>) \ + sizeof(::boost::concepts::require<ModelFnPtr>) \ } # else // Not vc-7.1 @@ -83,7 +105,7 @@ require_(void(*)(Model)); enum \ { \ BOOST_PP_CAT(boost_concept_check,__LINE__) = \ - sizeof(::boost::concept::require_((ModelFnPtr)0)) \ + sizeof(::boost::concepts::require_((ModelFnPtr)0)) \ } # endif diff --git a/3rdParty/Boost/src/boost/concept/usage.hpp b/3rdParty/Boost/src/boost/concept/usage.hpp index 9af8ca3..21547c3 100644 --- a/3rdParty/Boost/src/boost/concept/usage.hpp +++ b/3rdParty/Boost/src/boost/concept/usage.hpp @@ -6,8 +6,9 @@ # include <boost/concept/assert.hpp> # include <boost/detail/workaround.hpp> +# include <boost/concept/detail/backward_compatibility.hpp> -namespace boost { namespace concept { +namespace boost { namespace concepts { # if BOOST_WORKAROUND(__GNUC__, == 2) @@ -25,19 +26,19 @@ struct usage_requirements # define BOOST_CONCEPT_USAGE(model) \ model(); /* at least 2.96 and 3.4.3 both need this :( */ \ - BOOST_CONCEPT_ASSERT((boost::concept::usage_requirements<model>)); \ + BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \ ~model() # else # define BOOST_CONCEPT_USAGE(model) \ - BOOST_CONCEPT_ASSERT((boost::concept::usage_requirements<model>)); \ + BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \ ~model() # endif # endif -}} // namespace boost::concept +}} // namespace boost::concepts #endif // BOOST_CONCEPT_USAGE_DWA2006919_HPP |