24 #ifndef PXR_BASE_GF_MULTI_INTERVAL_H
25 #define PXR_BASE_GF_MULTI_INTERVAL_H
49 typedef std::set<GfInterval>
Set;
172 void _AssertInvariants()
const;
183 #endif // PXR_BASE_GF_MULTI_INTERVAL_H
GF_API bool IsEmpty() const
Returns true if the multi-interval is empty.
GF_API bool Contains(double d) const
Returns true if the multi-interval contains the given value.
GF_API const_iterator lower_bound(double x) const
void swap(GfMultiInterval &other)
Swap two multi-intervals.
GF_API bool operator==(const GfMultiInterval &that) const
GF_API bool operator<(const GfMultiInterval &that) const
GF_API const_iterator GetPriorNonContainingInterval(double x) const
static GfInterval GetFullInterval()
Returns the full interval (-inf, inf).
GF_API bool operator<=(const GfMultiInterval &that) const
GF_API void Add(const GfInterval &i)
Add the given interval to the multi-interval.
GF_API bool operator>=(const GfMultiInterval &that) const
GF_API const_iterator upper_bound(double x) const
GF_API GfMultiInterval GetComplement() const
Return the complement of this set.
GF_API bool operator!=(const GfMultiInterval &that) const
static GfMultiInterval GetFullInterval()
Returns the full interval (-inf, inf).
GF_API const_iterator GetNextNonContainingInterval(double x) const
GF_API size_t GetSize() const
Returns the number of intervals in the set.
GfMultiInterval()=default
Constructs an multi-interval with the single given interval.
Set::const_iterator const_iterator
GF_API void ArithmeticAdd(const GfInterval &i)
GF_API GfInterval GetBounds() const
GF_API std::ostream & operator<<(std::ostream &out, const GfMultiInterval &s)
GF_API const_iterator end() const
friend size_t hash_value(const GfMultiInterval &mi)
Set::const_iterator iterator
GF_API bool operator>(const GfMultiInterval &that) const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
GF_API const_iterator GetContainingInterval(double x) const
GF_API void Clear()
Clear the multi-interval.
std::set< GfInterval > Set
#define PXR_NAMESPACE_CLOSE_SCOPE
GF_API void Intersect(const GfInterval &i)
Clear the multi-interval.
GF_API void Remove(const GfInterval &i)
Remove the given interval from this multi-interval.
GF_API size_t Hash() const
GF_API const_iterator begin() const