borland.hpp 795 B

12345678910111213141516171819202122232425
  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. namespace boost {
  7. template <class ModelFn>
  8. struct concept_check;
  9. template <class Model>
  10. struct concept_check<void(*)(Model)>
  11. {
  12. enum { instantiate = sizeof((((Model*)0)->~Model()), 3) };
  13. };
  14. # define BOOST_CONCEPT_ASSERT( ModelInParens ) \
  15. enum { BOOST_PP_CAT(boost_concept_check,__LINE__) = \
  16. boost::concept_check<void(*)ModelInParens>::instantiate \
  17. }
  18. } // namespace boost::concept_checking
  19. #endif // BOOST_CONCEPT_CHECK_BORLAND_DWA2006429_HPP