123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
- # define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
- # include <boost/mpl/bool.hpp>
- # include <boost/detail/workaround.hpp>
- namespace boost { namespace concept {
- namespace detail
- {
- typedef char yes;
- typedef char (&no)[2];
- template <class Model, void (Model::*)()>
- struct wrap_constraints {};
-
- #if BOOST_WORKAROUND(__SUNPRO_CC, <= 0x580)
-
-
-
-
- inline no has_constraints_(...);
- #else
- template <class Model>
- inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
- inline no has_constraints_(...);
- #endif
- }
- template <class Model>
- struct not_satisfied
- {
- BOOST_STATIC_CONSTANT(
- bool
- , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
- typedef mpl::bool_<value> type;
- };
- }}
- #endif
|