You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
30 lines
983 B
30 lines
983 B
// 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
|
|
|