template<typename T>
meos::Range class

Range of values with either inclusive or exlusive bounds.

Constructors, destructors, conversion operators

Range()
Range(T const& lower, T const& upper, bool const lower_inc = true, bool const upper_inc = false)
Range(std::string const& serialized)
~Range() virtual

Public functions

auto clone() -> std::unique_ptr<Range> virtual
auto compare(Range const& other) const -> int
auto lower() const -> T
auto upper() const -> T
auto lower_inc() const -> bool
auto upper_inc() const -> bool
auto shift(T const& offset) const -> std::unique_ptr<Range>
auto overlap(Range const& p) const -> bool
auto contains(T const& t) const -> bool
auto read(std::istream& in) -> std::istream&
auto write(std::ostream& os) const -> std::ostream&

Friends

auto operator==(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator!=(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator<(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator>(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator>=(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator<=(Range<T> const& lhs, Range<T> const& rhs) -> bool
auto operator>>(std::istream& in, Range<T>& range) -> std::istream&
auto operator<<(std::ostream& os, Range<T> const& range) -> std::ostream&