QGIS API Documentation  3.21.0-Master (5b68dc587e)
Public Member Functions | Protected Attributes | List of all members
QgsRange< T > Class Template Reference

A template based class for storing ranges (lower to upper values). More...

#include <qgsrange.h>

Public Member Functions

 QgsRange (T lower, T upper, bool includeLower=true, bool includeUpper=true)
 Constructor for QgsRange. More...
 
bool contains (const QgsRange< T > &other) const
 Returns true if this range contains another range. More...
 
bool contains (T element) const
 Returns true if this range contains a specified element. More...
 
bool includeLower () const
 Returns true if the lower bound is inclusive, or false if the lower bound is exclusive. More...
 
bool includeUpper () const
 Returns true if the upper bound is inclusive, or false if the upper bound is exclusive. More...
 
bool isEmpty () const
 Returns true if the range is empty, ie the lower bound equals (or exceeds) the upper bound and either the bounds are exclusive. More...
 
bool isSingleton () const
 Returns true if the range consists only of a single value or instant. More...
 
lower () const
 Returns the lower bound of the range. More...
 
bool operator!= (const QgsRange< T > &other) const
 
bool operator== (const QgsRange< T > &other) const
 
bool overlaps (const QgsRange< T > &other) const
 Returns true if this range overlaps another range. More...
 
upper () const
 Returns the upper bound of the range. More...
 

Protected Attributes

bool mIncludeLower = true
 
bool mIncludeUpper = true
 
mLower
 
mUpper
 

Detailed Description

template<typename T>
class QgsRange< T >

A template based class for storing ranges (lower to upper values).

QgsRange classes represent a range of values of some element type. For instance, ranges of int might be used to represent integer ranges.

Ranges can indicate whether the upper and lower values are inclusive or exclusive. The inclusivity or exclusivity of bounds is considered when determining things like whether ranges overlap or during calculation of range intersections.

See also
QgsDoubleRange
QgsIntRange
Note
not available in Python bindings (but class provided for template-based inheritance)
Since
QGIS 3.0

Definition at line 46 of file qgsrange.h.

Constructor & Destructor Documentation

◆ QgsRange()

template<typename T >
QgsRange< T >::QgsRange ( lower,
upper,
bool  includeLower = true,
bool  includeUpper = true 
)
inline

Constructor for QgsRange.

The lower and upper bounds are specified, and optionally whether or not these bounds are included in the range.

Definition at line 54 of file qgsrange.h.

Member Function Documentation

◆ contains() [1/2]

template<typename T >
bool QgsRange< T >::contains ( const QgsRange< T > &  other) const
inline

Returns true if this range contains another range.

See also
overlaps()

Definition at line 108 of file qgsrange.h.

◆ contains() [2/2]

template<typename T >
bool QgsRange< T >::contains ( element) const
inline

Returns true if this range contains a specified element.

Definition at line 128 of file qgsrange.h.

◆ includeLower()

template<typename T >
bool QgsRange< T >::includeLower ( ) const
inline

Returns true if the lower bound is inclusive, or false if the lower bound is exclusive.

See also
lower()
includeUpper()

Definition at line 81 of file qgsrange.h.

◆ includeUpper()

template<typename T >
bool QgsRange< T >::includeUpper ( ) const
inline

Returns true if the upper bound is inclusive, or false if the upper bound is exclusive.

See also
upper()
includeLower()

Definition at line 89 of file qgsrange.h.

◆ isEmpty()

template<typename T >
bool QgsRange< T >::isEmpty ( ) const
inline

Returns true if the range is empty, ie the lower bound equals (or exceeds) the upper bound and either the bounds are exclusive.

See also
isSingleton()

Definition at line 96 of file qgsrange.h.

◆ isSingleton()

template<typename T >
bool QgsRange< T >::isSingleton ( ) const
inline

Returns true if the range consists only of a single value or instant.

See also
isEmpty()

Definition at line 102 of file qgsrange.h.

◆ lower()

template<typename T >
T QgsRange< T >::lower ( ) const
inline

Returns the lower bound of the range.

See also
upper()
includeLower()

Definition at line 66 of file qgsrange.h.

◆ operator!=()

template<typename T >
bool QgsRange< T >::operator!= ( const QgsRange< T > &  other) const
inline

Definition at line 179 of file qgsrange.h.

◆ operator==()

template<typename T >
bool QgsRange< T >::operator== ( const QgsRange< T > &  other) const
inline

Definition at line 171 of file qgsrange.h.

◆ overlaps()

template<typename T >
bool QgsRange< T >::overlaps ( const QgsRange< T > &  other) const
inline

Returns true if this range overlaps another range.

See also
contains()

Definition at line 147 of file qgsrange.h.

◆ upper()

template<typename T >
T QgsRange< T >::upper ( ) const
inline

Returns the upper bound of the range.

See also
lower()
includeUpper()

Definition at line 73 of file qgsrange.h.

Member Data Documentation

◆ mIncludeLower

template<typename T >
bool QgsRange< T >::mIncludeLower = true
protected

Definition at line 188 of file qgsrange.h.

◆ mIncludeUpper

template<typename T >
bool QgsRange< T >::mIncludeUpper = true
protected

Definition at line 189 of file qgsrange.h.

◆ mLower

template<typename T >
T QgsRange< T >::mLower
protected

Definition at line 186 of file qgsrange.h.

◆ mUpper

template<typename T >
T QgsRange< T >::mUpper
protected

Definition at line 187 of file qgsrange.h.


The documentation for this class was generated from the following file: