...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::icl::closed_interval
// In header: <boost/icl/closed_interval.hpp> template<typename DomainT, ICL_COMPARE Compare = ICL_COMPARE_INSTANCE(ICL_COMPARE_DEFAULT, DomainT)> class closed_interval { public: // types typedef closed_interval< DomainT, Compare > type; typedef DomainT domain_type; // public member functions typedef ICL_COMPARE_DOMAIN(Compare, DomainT); closed_interval(); explicit closed_interval(const DomainT &); closed_interval(const DomainT &, const DomainT &); DomainT lower() const; DomainT upper() const; DomainT first() const; DomainT last() const; };
closed_interval
public member functionstypedef ICL_COMPARE_DOMAIN(Compare, DomainT);
closed_interval();
Default constructor; yields an empty interval [0,0)
.
explicit closed_interval(const DomainT & val);
Constructor for a closed singleton interval [val,val]
closed_interval(const DomainT & low, const DomainT & up);
Interval from low
to up
with bounds bounds
DomainT lower() const;
DomainT upper() const;
DomainT first() const;
DomainT last() const;