1 // Copyright David Abrahams 2006. Distributed under the Boost 2 // Software License, Version 1.0. (See accompanying 3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 #ifndef BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP 5 # define BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP 6 7 namespace boost { 8 9 template <class ModelFn> 10 struct concept_check; 11 12 template <class Model> 13 struct concept_check<void(*)(Model)> 14 { 15 enum { instantiate = sizeof((((Model*)0)->~Model()), 3) }; 16 }; 17 18 # define BOOST_CONCEPT_ASSERT( ModelInParens ) \ 19 enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \ 20 boost::concept_check<void(*)ModelInParens>::instantiate \ 21 } 22 23 } // namespace boost::concept_checking 24 25 #endif // BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP 26