
I'm not sure if I'm getting the wrong end of the stick from the docs or perhaps I should raise this sort of thing as a bug report? #include <boost/icl/interval_set.hpp> namespace icl = ::boost::icl; void interval_set_intersects() { icl::lower( icl::interval_set< int >() ); } gives: In file included from /home/john/Dev/ThirdParty/boost/boost-trunk/boost/icl/associative_interval_container.hpp:16, from /home/john/Dev/ThirdParty/boost/boost-trunk/boost/icl/interval_base_set.hpp:24, from /home/john/Dev/ThirdParty/boost/boost-trunk/boost/icl/interval_set.hpp:14, from src/sandbox.cpp:2: /home/john/Dev/ThirdParty/boost/boost-trunk/boost/icl/concept/interval_associator.hpp: In function ‘boost::enable_if< boost::icl::is_interval_container<boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> >, boost::icl::interval_set< int, less, boost::icl::discrete_interval<int, less>, allocator>::interval_type >::type boost::icl::lower(const boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> &)’: src/sandbox.cpp:6: instantiated from here /home/john/Dev/ThirdParty/boost/boost-trunk/boost/icl/concept/interval_associator.hpp:229: error: no match for ternary ‘operator?:’ in ‘boost::icl::is_empty( ( (const boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> &)( (const boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> *)object))) ? boost::icl::identity_element< boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> >::value() : boost::icl::lower( ( (const boost::icl::discrete_interval<int, less> &)( ( const boost::icl::discrete_interval<int, less> * )boost::icl::key_value( ( (const boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator> *)object )->boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator>::< anonymous >.boost::icl::interval_base_set< boost::icl::interval_set<int, less, boost::icl::discrete_interval<int, less>, allocator>, int, less, boost::icl::discrete_interval<int, less>, allocator>::begin()))))’ using boost SVN version 68955 and gcc 4.4.3