Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
interval.hpp File Reference
Include dependency graph for interval.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

 boost
 Duration formatting facet for input.
 
 boost::icl
 
 boost::icl::detail
 
 boost::icl::non_empty
 

Functions

template<class Type >
enable_if< is_interval< Type >
, bool >::type 
boost::icl::domain_less (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_interval< Type >
, bool >::type 
boost::icl::domain_less_equal (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_interval< Type >
, bool >::type 
boost::icl::domain_equal (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::domain_next (const typename interval_traits< Type >::domain_type value)
 
template<class Type >
enable_if< is_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::domain_prior (const typename interval_traits< Type >::domain_type value)
 
template<class Type >
enable_if< mpl::and_
< is_static_right_open< Type >
, is_discrete< typename
interval_traits< Type >
::domain_type > >, Type >
::type 
boost::icl::singleton (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< mpl::and_
< is_static_left_open< Type >
, is_discrete< typename
interval_traits< Type >
::domain_type > >, Type >
::type 
boost::icl::singleton (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if
< is_discrete_static_open
< Type >, Type >::type 
boost::icl::singleton (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if
< is_discrete_static_closed
< Type >, Type >::type 
boost::icl::singleton (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, Type >::type 
boost::icl::singleton (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< mpl::and_
< is_static_right_open< Type >
, boost::detail::is_incrementable
< typename interval_traits
< Type >::domain_type >
>, Type >::type 
boost::icl::detail::unit_trail (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< mpl::and_
< is_static_left_open< Type >
, boost::detail::is_incrementable
< typename interval_traits
< Type >::domain_type >
>, Type >::type 
boost::icl::detail::unit_trail (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< mpl::and_
< is_static_open< Type >
, is_discrete< typename
interval_traits< Type >
::domain_type > >, Type >
::type 
boost::icl::detail::unit_trail (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< mpl::and_
< is_static_closed< Type >
, is_discrete< typename
interval_traits< Type >
::domain_type > >, Type >
::type 
boost::icl::detail::unit_trail (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, Type >::type 
boost::icl::detail::unit_trail (const typename interval_traits< Type >::domain_type &value)
 
template<class Type >
enable_if< has_static_bounds
< Type >, Type >::type 
boost::icl::construct (const typename interval_traits< Type >::domain_type &low, const typename interval_traits< Type >::domain_type &up)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, Type >::type 
boost::icl::construct (const typename interval_traits< Type >::domain_type &low, const typename interval_traits< Type >::domain_type &up, interval_bounds bounds=interval_bounds::right_open())
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, Type >::type 
boost::icl::construct (const typename Type::bounded_domain_type &low, const typename Type::bounded_domain_type &up)
 
template<class Type >
enable_if< is_interval< Type >
, Type >::type 
boost::icl::span (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if
< is_static_right_open< Type >
, Type >::type 
boost::icl::hull (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_static_left_open
< Type >, Type >::type 
boost::icl::hull (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_static_closed
< Type >, Type >::type 
boost::icl::hull (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_static_open
< Type >, Type >::type 
boost::icl::hull (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, Type >::type 
boost::icl::hull (const typename interval_traits< Type >::domain_type &left, const typename interval_traits< Type >::domain_type &right)
 
template<class Type >
enable_if< is_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::lower (const Type &object)
 
template<class Type >
enable_if< is_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::upper (const Type &object)
 
template<class Type >
enable_if< mpl::or_
< is_static_right_open< Type >
, is_static_closed< Type >
>, typename interval_traits
< Type >::domain_type >::type 
boost::icl::first (const Type &object)
 
template<class Type >
enable_if< mpl::and_< mpl::or_
< is_static_left_open< Type >
, is_static_open< Type >
>, is_discrete< typename
interval_traits< Type >
::domain_type > >, typename
interval_traits< Type >
::domain_type >::type 
boost::icl::first (const Type &object)
 
template<class Type >
enable_if
< is_discrete_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::first (const Type &object)
 
template<class Type >
enable_if< mpl::or_
< is_static_left_open< Type >
, is_static_closed< Type >
>, typename interval_traits
< Type >::domain_type >::type 
boost::icl::last (const Type &object)
 
template<class Type >
enable_if< mpl::and_< mpl::or_
< is_static_right_open< Type >
, is_static_open< Type >
>, is_discrete< typename
interval_traits< Type >
::domain_type > >, typename
interval_traits< Type >
::domain_type >::type 
boost::icl::last (const Type &object)
 
template<class Type >
enable_if
< is_discrete_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::last (const Type &object)
 
template<class Type >
enable_if< mpl::and_< mpl::or_
< is_static_left_open< Type >
, is_static_closed< Type >
>, is_discrete< typename
interval_traits< Type >
::domain_type > >, typename
interval_traits< Type >
::domain_type >::type 
boost::icl::last_next (const Type &object)
 
template<class Type >
enable_if< mpl::and_< mpl::or_
< is_static_right_open< Type >
, is_static_open< Type >
>, is_discrete< typename
interval_traits< Type >
::domain_type > >, typename
interval_traits< Type >
::domain_type >::type 
boost::icl::last_next (const Type &object)
 
template<class Type >
enable_if
< is_discrete_interval< Type >
, typename interval_traits
< Type >::domain_type >::type 
boost::icl::last_next (const Type &object)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, typename
Type::bounded_domain_type >
::type 
boost::icl::bounded_lower (const Type &object)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, typename
Type::bounded_domain_type >
::type 
boost::icl::reverse_bounded_lower (const Type &object)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, typename
Type::bounded_domain_type >
::type 
boost::icl::bounded_upper (const Type &object)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, typename
Type::bounded_domain_type >
::type 
boost::icl::reverse_bounded_upper (const Type &object)
 
template<class Type >
enable_if< has_dynamic_bounds
< Type >, interval_bounds >
::type 
boost::icl::bounds (const Type &object)
 
template<class Type >
enable_if< has_static_bounds
< Type >, interval_bounds >
::type 
boost::icl::bounds (const Type &)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::is_empty (const Type &object)
 Is the interval empty? More...
 
template<class Type >
boost::enable_if
< is_static_closed< Type >
, bool >::type 
boost::icl::is_empty (const Type &object)
 
template<class Type >
boost::enable_if
< is_static_open< Type >, bool >
::type 
boost::icl::is_empty (const Type &object)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::is_empty (const Type &object)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::is_empty (const Type &object)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::non_empty::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::non_empty::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, bool >::type 
boost::icl::non_empty::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::non_empty::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::non_empty::contains (const Type &super, const Type &sub)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::contains (const Type &super, const Type &sub)
 
template<class Type >
boost::enable_if
< is_discrete_static< Type >
, bool >::type 
boost::icl::contains (const Type &super, const typename interval_traits< Type >::domain_type &element)
 
template<class Type >
boost::enable_if
< is_continuous_left_open
< Type >, bool >::type 
boost::icl::contains (const Type &super, const typename interval_traits< Type >::domain_type &element)
 
template<class Type >
boost::enable_if
< is_continuous_right_open
< Type >, bool >::type 
boost::icl::contains (const Type &super, const typename interval_traits< Type >::domain_type &element)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, bool >::type 
boost::icl::contains (const Type &super, const typename interval_traits< Type >::domain_type &element)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::within (const Type &sub, const Type &super)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::exclusive_less (const Type &left, const Type &right)
 Maximal element of left is less than the minimal element of right More...
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, bool >::type 
boost::icl::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::exclusive_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_static_bounds< Type >
, bool >::type 
boost::icl::lower_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::lower_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::lower_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_static_bounds< Type >
, bool >::type 
boost::icl::upper_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::upper_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::upper_less (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, typename
Type::bounded_domain_type >
::type 
boost::icl::lower_min (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, typename
Type::bounded_domain_type >
::type 
boost::icl::lower_max (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, typename
Type::bounded_domain_type >
::type 
boost::icl::upper_max (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, typename
Type::bounded_domain_type >
::type 
boost::icl::upper_min (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::lower_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, bool >::type 
boost::icl::lower_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::lower_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::lower_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::upper_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, bool >::type 
boost::icl::upper_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::upper_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::upper_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::lower_less_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::upper_less_equal (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::operator== (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::operator!= (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::operator< (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::operator> (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, bool >::type 
boost::icl::touches (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, bool >::type 
boost::icl::touches (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, bool >::type 
boost::icl::touches (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, bool >::type 
boost::icl::touches (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::cardinality (const Type &object)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::cardinality (const Type &object)
 
template<class Type >
boost::enable_if
< is_continuous_asymmetric
< Type >, typename
size_type_of< interval_traits
< Type > >::type >::type 
boost::icl::cardinality (const Type &object)
 
template<class Type >
boost::enable_if
< is_discrete_asymmetric< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::cardinality (const Type &object)
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::cardinality (const Type &object)
 
template<class Type >
enable_if< is_interval< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::size (const Type &object)
 
template<class Type >
boost::enable_if
< is_continuous_interval< Type >
, typename difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::length (const Type &object)
 
template<class Type >
boost::enable_if
< is_discrete_interval< Type >
, typename difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::length (const Type &object)
 
template<class Type >
boost::enable_if
< is_continuous_asymmetric
< Type >, typename
difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::length (const Type &object)
 
template<class Type >
boost::enable_if
< is_discrete_static< Type >
, typename difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::length (const Type &object)
 
template<class Type >
enable_if< is_interval< Type >
, typename size_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::iterative_size (const Type &)
 
template<class Type >
boost::enable_if
< has_static_bounds< Type >
, Type >::type 
boost::icl::hull (Type left, const Type &right)
 hull returns the smallest interval containing left and right. More...
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, Type >::type 
boost::icl::hull (Type left, const Type &right)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, Type >::type 
boost::icl::left_subtract (Type right, const Type &left_minuend)
 subtract left_minuend from the right interval on it's left side. More...
 
template<class Type >
boost::enable_if
< is_static_closed< Type >
, Type >::type 
boost::icl::left_subtract (Type right, const Type &left_minuend)
 
template<class Type >
boost::enable_if
< is_static_open< Type >, Type >
::type 
boost::icl::left_subtract (Type right, const Type &left_minuend)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, Type >::type 
boost::icl::left_subtract (Type right, const Type &left_minuend)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, Type >::type 
boost::icl::right_subtract (Type left, const Type &right_minuend)
 subtract right_minuend from the left interval on it's right side. More...
 
template<class Type >
boost::enable_if
< is_static_closed< Type >
, Type >::type 
boost::icl::right_subtract (Type left, const Type &right_minuend)
 
template<class Type >
boost::enable_if
< is_static_open< Type >, Type >
::type 
boost::icl::right_subtract (Type left, const Type &right_minuend)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, Type >::type 
boost::icl::right_subtract (Type left, const Type &right_minuend)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, Type >::type 
boost::icl::operator& (Type left, const Type &right)
 Returns the intersection of left and right interval. More...
 
template<class Type >
boost::enable_if
< has_symmetric_bounds< Type >
, Type >::type 
boost::icl::operator& (Type left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, Type >::type 
boost::icl::operator& (Type left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::intersects (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, bool >::type 
boost::icl::disjoint (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_asymmetric_interval< Type >
, Type >::type 
boost::icl::inner_complement (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_static_closed
< Type >, Type >::type 
boost::icl::inner_complement (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< is_discrete_static_open
< Type >, Type >::type 
boost::icl::inner_complement (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, Type >::type 
boost::icl::inner_complement (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< is_interval
< Type >, Type >::type 
boost::icl::between (const Type &left, const Type &right)
 
template<class Type >
boost::enable_if< mpl::and_
< is_interval< Type >
, has_difference< typename
interval_traits< Type >
::domain_type >, is_discrete
< typename interval_traits
< Type >::domain_type >
>, typename
difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::distance (const Type &x1, const Type &x2)
 
template<class Type >
boost::enable_if< mpl::and_
< is_interval< Type >
, has_difference< typename
interval_traits< Type >
::domain_type >, is_continuous
< typename interval_traits
< Type >::domain_type >
>, typename
difference_type_of
< interval_traits< Type >
>::type >::type 
boost::icl::distance (const Type &x1, const Type &x2)
 
template<class Type >
boost::enable_if< mpl::or_
< is_static_left_open< Type >
, is_static_open< Type >
>, std::string >::type 
boost::icl::left_bracket (const Type &)
 
template<class Type >
boost::enable_if< mpl::or_
< is_static_right_open< Type >
, is_static_closed< Type >
>, std::string >::type 
boost::icl::left_bracket (const Type &)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, std::string >::type 
boost::icl::left_bracket (const Type &object)
 
template<class Type >
boost::enable_if< mpl::or_
< is_static_right_open< Type >
, is_static_open< Type >
>, std::string >::type 
boost::icl::right_bracket (const Type &)
 
template<class Type >
boost::enable_if< mpl::or_
< is_static_left_open< Type >
, is_static_closed< Type >
>, std::string >::type 
boost::icl::right_bracket (const Type &)
 
template<class Type >
boost::enable_if
< has_dynamic_bounds< Type >
, std::string >::type 
boost::icl::right_bracket (const Type &object)
 
template<class CharType , class CharTraits , class Type >
boost::enable_if< is_interval
< Type >, std::basic_ostream
< CharType, CharTraits >
>::type & 
boost::icl::operator<< (std::basic_ostream< CharType, CharTraits > &stream, Type const &object)