diff options
author | Stefan Radomski <github@mintwerk.de> | 2017-06-26 16:08:31 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2017-06-26 16:08:31 (GMT) |
commit | d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6 (patch) | |
tree | 113ea6391c0090cdf56c4d7b216a0ba34e4fd26c /contrib/src/boost/concept/detail/general.hpp | |
parent | b1f4aa596db8a0a83e20291b4119eb2febdb5123 (diff) | |
download | uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.zip uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.tar.gz uscxml-d92c9b84c2c3756ad0e9b0d6643d8031a5de20d6.tar.bz2 |
New default microstepper implementation
Diffstat (limited to 'contrib/src/boost/concept/detail/general.hpp')
-rw-r--r-- | contrib/src/boost/concept/detail/general.hpp | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/contrib/src/boost/concept/detail/general.hpp b/contrib/src/boost/concept/detail/general.hpp index e34c99e..525ea65 100644 --- a/contrib/src/boost/concept/detail/general.hpp +++ b/contrib/src/boost/concept/detail/general.hpp @@ -1,77 +1,77 @@ -// 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_DETAIL_GENERAL_DWA2006429_HPP
-# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
-
-# include <boost/config.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>
-# include <boost/mpl/if.hpp>
-# endif
-
-// This implementation works on Comeau and GCC, all the way back to
-// 2.95
-namespace boost { namespace concepts {
-
-template <class ModelFn>
-struct requirement_;
-
-namespace detail
-{
- template <void(*)()> struct instantiate {};
-}
-
-template <class Model>
-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>
-struct constraint
-{
- static void failed() { ((Model*)0)->constraints(); }
-};
-
-template <class Model>
-struct requirement_<void(*)(Model)>
- : mpl::if_<
- concepts::not_satisfied<Model>
- , constraint<Model>
- , requirement<failed ************ Model::************>
- >::type
-{};
-
-# else
-
-// For GCC-2.x, these can't have exactly the same name
-template <class Model>
-struct requirement_<void(*)(Model)>
- : requirement<failed ************ Model::************>
-{};
-
-# endif
-
-# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \
- typedef ::boost::concepts::detail::instantiate< \
- &::boost::concepts::requirement_<ModelFnPtr>::failed> \
- BOOST_PP_CAT(boost_concept_check,__LINE__) \
- BOOST_ATTRIBUTE_UNUSED
-
-}}
-
-#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP
+// 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_DETAIL_GENERAL_DWA2006429_HPP +# define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP + +# include <boost/config.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> +# include <boost/mpl/if.hpp> +# endif + +// This implementation works on Comeau and GCC, all the way back to +// 2.95 +namespace boost { namespace concepts { + +template <class ModelFn> +struct requirement_; + +namespace detail +{ + template <void(*)()> struct instantiate {}; +} + +template <class Model> +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> +struct constraint +{ + static void failed() { ((Model*)0)->constraints(); } +}; + +template <class Model> +struct requirement_<void(*)(Model)> + : mpl::if_< + concepts::not_satisfied<Model> + , constraint<Model> + , requirement<failed ************ Model::************> + >::type +{}; + +# else + +// For GCC-2.x, these can't have exactly the same name +template <class Model> +struct requirement_<void(*)(Model)> + : requirement<failed ************ Model::************> +{}; + +# endif + +# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ + typedef ::boost::concepts::detail::instantiate< \ + &::boost::concepts::requirement_<ModelFnPtr>::failed> \ + BOOST_PP_CAT(boost_concept_check,__LINE__) \ + BOOST_ATTRIBUTE_UNUSED + +}} + +#endif // BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP |