Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:38:19

0001 /*-----------------------------------------------------------------------------+
0002 Copyright (c) 2010-2010: Joachim Faulhaber
0003 +------------------------------------------------------------------------------+
0004    Distributed under the Boost Software License, Version 1.0.
0005       (See accompanying file LICENCE.txt or copy at
0006            http://www.boost.org/LICENSE_1_0.txt)
0007 +-----------------------------------------------------------------------------*/
0008 #ifndef BOOST_ICL_DETAIL_ASSOCIATED_VALUE_HPP_JOFA_100829
0009 #define BOOST_ICL_DETAIL_ASSOCIATED_VALUE_HPP_JOFA_100829
0010 
0011 #include <boost/icl/detail/design_config.hpp>
0012 #include <boost/icl/type_traits/is_combinable.hpp>
0013 #include <boost/mpl/not.hpp>
0014 #include <boost/mpl/and.hpp>
0015 
0016 namespace boost{namespace icl
0017 {
0018 
0019 template<class Type, class CoType> 
0020 typename enable_if< mpl::and_< is_key_compare_equal<Type,CoType>
0021                              , mpl::and_<is_map<Type>, is_map<CoType> > >, 
0022                     bool>::type
0023 co_equal(typename Type::const_iterator left_, typename CoType::const_iterator right_, 
0024          const Type* = 0, const CoType* = 0)
0025 {
0026     return co_value<Type>(left_) == co_value<CoType>(right_);
0027 }
0028 
0029 template<class Type, class CoType> 
0030 typename enable_if< mpl::and_< is_key_compare_equal<Type,CoType>
0031                              , mpl::not_<mpl::and_<is_map<Type>, is_map<CoType> > > >,
0032                   bool>::type
0033 co_equal(typename Type::const_iterator, typename CoType::const_iterator,
0034          const Type* = 0, const CoType* = 0)
0035 {
0036     return true;
0037 }
0038 
0039 
0040 }} // namespace icl boost
0041 
0042 #endif
0043