// 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_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP # define BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP namespace boost { namespace concept_checking { // Here we implement the "metafunction" that detects whether a // constraints metafunction exists typedef char yes; typedef char (&no)[2]; template struct wrap_constraints {}; template inline yes has_constraints_(Model*, wrap_constraints* = 0); inline no has_constraints_(...); template struct has_constraints { BOOST_STATIC_CONSTANT( bool , value = sizeof( concept_checking::has_constraints_((Model*)0) ) == 1 ); }; }} // namespace boost::concept_checking #endif // BOOST_CONCEPT_CHECK_HAS_CONSTRAINTS_DWA2006429_HPP