namespace boost {
namespace icl {
template<typename DomainT,
ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)>
struct interval;
template<typename IntervalT, bool IsDiscrete, bound_type PretendedBounds,
bound_type RepresentedBounds>
struct static_interval;
template<typename IntervalT, bound_type PretendedBounds,
bound_type RepresentedBounds>
struct static_interval<IntervalT, false, PretendedBounds, RepresentedBounds>;
template<typename IntervalT, bound_type PretendedBounds,
bound_type RepresentedBounds>
struct static_interval<IntervalT, true, PretendedBounds, RepresentedBounds>;
}
}