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_CONCEPT_SET_VALUE_HPP_JOFA_100924
0009 #define BOOST_ICL_CONCEPT_SET_VALUE_HPP_JOFA_100924
0010 
0011 #include <boost/icl/type_traits/is_set.hpp>
0012 #include <boost/icl/type_traits/codomain_type_of.hpp>
0013 
0014 namespace boost{ namespace icl
0015 {
0016 
0017 //==============================================================================
0018 //= AlgoUnifiers<Set>
0019 //==============================================================================
0020 template<class Type, class Iterator>
0021 inline typename enable_if<is_set<Type>, const typename Type::key_type>::type&
0022 key_value(Iterator it_)
0023 {
0024     return *it_;
0025 }
0026 
0027 template<class Type>
0028 inline typename enable_if<is_set<Type>, typename Type::value_type>::type
0029 make_value(const typename Type::key_type& key_val, 
0030            const typename codomain_type_of<Type>::type& )
0031 {
0032     return typename Type::value_type(key_val);
0033 }
0034 
0035 
0036 }} // namespace boost icl
0037 
0038 #endif
0039 
0040