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_DYNAMIC_INTERVAL_TRAITS_HPP_JOFA_100926 9 #define BOOST_ICL_DYNAMIC_INTERVAL_TRAITS_HPP_JOFA_100926 10 11 namespace boost{ namespace icl 12 { 13 14 class interval_bounds; 15 template<class DomainT> class bounded_value; 16 17 18 //------------------------------------------------------------------------------ 19 //- Adapter class 20 //------------------------------------------------------------------------------ 21 template<class Type> 22 struct dynamic_interval_traits 23 { 24 typedef typename Type::domain_type domain_type; 25 typedef typename Type::domain_compare domain_compare; 26 27 static Type construct(const domain_type& lo, const domain_type& up, interval_bounds bounds); 28 static Type construct_bounded(const bounded_value<domain_type>& lo, 29 const bounded_value<domain_type>& up); 30 }; 31 32 33 }} // namespace boost icl 34 35 #endif 36 37 38