Template Class IntervalTree

Nested Relationships

Nested Types

Class Documentation

template<class Scalar, class Value>
class IntervalTree

Public Types

using interval = Interval<Scalar, Value>
using interval_vector = std::vector<interval>

Public Functions

inline IntervalTree()
~IntervalTree() = default
inline std::unique_ptr<IntervalTree> clone() const
inline IntervalTree(const IntervalTree &other)
IntervalTree &operator=(IntervalTree&&) = default
IntervalTree(IntervalTree&&) = default
inline IntervalTree &operator=(const IntervalTree &other)
inline IntervalTree(interval_vector &&ivals, std::size_t depth = 16, std::size_t minbucket = 64, std::size_t maxbucket = 512, Scalar leftextent = 0, Scalar rightextent = 0)
template<class UnaryFunction>
inline void visit_near(const Scalar &start, const Scalar &stop, UnaryFunction f) const
template<class UnaryFunction>
inline void visit_overlapping(const Scalar &pos, UnaryFunction f) const
template<class UnaryFunction>
inline void visit_overlapping(const Scalar &start, const Scalar &stop, UnaryFunction f) const
template<class UnaryFunction>
inline void visit_contained(const Scalar &start, const Scalar &stop, UnaryFunction f) const
inline interval_vector find_overlapping(const Scalar &start, const Scalar &stop) const
inline interval_vector find_contained(const Scalar &start, const Scalar &stop) const
inline bool empty() const
template<class UnaryFunction>
inline void visit_all(UnaryFunction f) const
inline std::pair<Scalar, Scalar> extent() const
inline std::pair<bool, std::pair<Scalar, Scalar>> is_valid() const
struct IntervalStartCmp

Public Functions

inline bool operator()(const interval &a, const interval &b)
struct IntervalStopCmp

Public Functions

inline bool operator()(const interval &a, const interval &b)