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
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, allocator> >,
boost::icl::interval_set<
int, less, boost::icl::discrete_interval,
allocator>::interval_type
>::type boost::icl::lower(const boost::icl::interval_set, 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, allocator> &)(
(const boost::icl::interval_set, allocator> *)object))) ?
boost::icl::identity_element<
boost::icl::interval_set, allocator> >::value() :
boost::icl::lower(
(
(const boost::icl::discrete_interval &)(
(
const boost::icl::discrete_interval *
)boost::icl::key_value(
(
(const boost::icl::interval_set, allocator> *)object
)->boost::icl::interval_set, allocator>::<
anonymous
>.boost::icl::interval_base_set<
boost::icl::interval_set, allocator>, int, less,
boost::icl::discrete_interval, allocator>::begin()))))’
using boost SVN version 68955 and gcc 4.4.3