// 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_BORLAND_DWA2006429_HPP | |
# define BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP | |
# include <boost/preprocessor/cat.hpp> | |
# include <boost/concept/detail/backward_compatibility.hpp> | |
namespace boost { namespace concepts { | |
template <class ModelFnPtr> | |
struct require; | |
template <class Model> | |
struct require<void(*)(Model)> | |
{ | |
enum { instantiate = sizeof((((Model*)0)->~Model()), 3) }; | |
}; | |
# define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ | |
enum \ | |
{ \ | |
BOOST_PP_CAT(boost_concept_check,__LINE__) = \ | |
boost::concepts::require<ModelFnPtr>::instantiate \ | |
} | |
}} // namespace boost::concept | |
#endif // BOOST_CONCEPT_DETAIL_BORLAND_DWA2006429_HPP |