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_INTERVAL_SET_VALUE_HPP_JOFA_100924
0009 #define BOOST_ICL_CONCEPT_INTERVAL_SET_VALUE_HPP_JOFA_100924
0010 
0011 #include <boost/utility/enable_if.hpp>
0012 #include <boost/icl/type_traits/is_interval_container.hpp>
0013 #include <boost/icl/concept/interval.hpp>
0014 
0015 namespace boost{ namespace icl
0016 {
0017 
0018 //==============================================================================
0019 //= AlgoUnifiers<Set>
0020 //==============================================================================
0021 template<class Type, class Iterator>
0022 inline typename enable_if<is_interval_set<Type>, typename Type::codomain_type>::type
0023 co_value(Iterator value_)
0024 { 
0025     typedef typename Type::codomain_type codomain_type;
0026     return icl::is_empty(*value_)? codomain_type() : (*value_).lower(); 
0027 }
0028 
0029 }} // namespace boost icl
0030 
0031 #endif
0032 
0033