]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | /*-----------------------------------------------------------------------------+ |
2 | Copyright (c) 2010-2010: Joachim Faulhaber | |
3 | +------------------------------------------------------------------------------+ | |
4 | Distributed under the Boost Software License, Version 1.0. | |
5 | (See accompanying file LICENCE.txt or copy at | |
6 | http://www.boost.org/LICENSE_1_0.txt) | |
7 | +-----------------------------------------------------------------------------*/ | |
8 | #ifndef BOOST_ICL_DETAIL_ASSOCIATED_VALUE_HPP_JOFA_100829 | |
9 | #define BOOST_ICL_DETAIL_ASSOCIATED_VALUE_HPP_JOFA_100829 | |
10 | ||
11 | #include <boost/icl/detail/design_config.hpp> | |
12 | #include <boost/icl/type_traits/is_combinable.hpp> | |
13 | #include <boost/mpl/not.hpp> | |
14 | #include <boost/mpl/and.hpp> | |
15 | ||
16 | namespace boost{namespace icl | |
17 | { | |
18 | ||
19 | template<class Type, class CoType> | |
20 | typename enable_if< mpl::and_< is_key_compare_equal<Type,CoType> | |
21 | , mpl::and_<is_map<Type>, is_map<CoType> > >, | |
22 | bool>::type | |
23 | co_equal(typename Type::const_iterator left_, typename CoType::const_iterator right_, | |
24 | const Type* = 0, const CoType* = 0) | |
25 | { | |
26 | return co_value<Type>(left_) == co_value<CoType>(right_); | |
27 | } | |
28 | ||
29 | template<class Type, class CoType> | |
30 | typename enable_if< mpl::and_< is_key_compare_equal<Type,CoType> | |
31 | , mpl::not_<mpl::and_<is_map<Type>, is_map<CoType> > > >, | |
32 | bool>::type | |
33 | co_equal(typename Type::const_iterator, typename CoType::const_iterator, | |
34 | const Type* = 0, const CoType* = 0) | |
35 | { | |
36 | return true; | |
37 | } | |
38 | ||
39 | ||
40 | }} // namespace icl boost | |
41 | ||
42 | #endif | |
43 |