← Back
Editing: is_concept_equivalent.hpp
/*-----------------------------------------------------------------------------+ Copyright (c) 2008-2009: Joachim Faulhaber +------------------------------------------------------------------------------+ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENCE.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +-----------------------------------------------------------------------------*/ #ifndef BOOST_ICL_TYPE_TRAITS_IS_CONCEPT_EQUIVALENT_HPP_JOFA_090830 #define BOOST_ICL_TYPE_TRAITS_IS_CONCEPT_EQUIVALENT_HPP_JOFA_090830 #include <boost/mpl/and.hpp> namespace boost{ namespace icl { template<template<class>class IsConcept, class LeftT, class RightT> struct is_concept_equivalent { typedef is_concept_equivalent<IsConcept, LeftT, RightT> type; BOOST_STATIC_CONSTANT(bool, value = (mpl::and_<IsConcept<LeftT>, IsConcept<RightT> >::value) ); }; template<template<class>class IsConcept, class LeftT, class RightT> struct has_same_concept { typedef has_same_concept<IsConcept, LeftT, RightT> type; BOOST_STATIC_CONSTANT(bool, value = (mpl::and_<IsConcept<LeftT>, is_concept_equivalent<IsConcept, LeftT, RightT> >::value) ); }; }} // namespace boost icl #endif
Save File
Cancel