CVB++ 14.0
ValueRange< T > Class Template Referencefinal

Container for range definitions. More...

#include <cvb/value_range.hpp>

Public Member Functions

 ValueRange () noexcept=default
 Creates a default value range e.g. from 0 to 0. More...
 
 ValueRange (T min, T max)
 Initializes a ValueRange object. More...
 
T Min () const noexcept
 Gets the minimum value. More...
 
void SetMin (T min)
 Sets the minimum value. More...
 
T Max () const noexcept
 Gets the maximum value. More...
 
void SetMax (T max)
 Sets the maximum value. More...
 
bool Contains (T value) const noexcept
 Checks if a value is within the range. More...
 
bool IntersectsWith (ValueRange< T > other) const noexcept
 Checks if this value range intersects with another value range. More...
 
bool operator== (const ValueRange< T > &valueRange) const noexcept
 Compares to an other value range. More...
 
bool operator!= (const ValueRange< T > &valueRange) const noexcept
 Compares to an other value range. More...
 
template<class C >
 operator ValueRange< C > () const noexcept
 Enable casting.
 

Detailed Description

template<class T>
class Cvb::ValueRange< T >

Container for range definitions.

Constructor & Destructor Documentation

◆ ValueRange() [1/2]

ValueRange ( )
defaultnoexcept

Creates a default value range e.g. from 0 to 0.

Exceptions
Doesnot throw any exception.

◆ ValueRange() [2/2]

ValueRange ( T  min,
T  max 
)
inline

Initializes a ValueRange object.

Parameters
[in]minMinimum value.
[in]maxMaximum value.
Exceptions
Anyexception derived from std::exception including CvbException.

Member Function Documentation

◆ Contains()

bool Contains ( T  value) const
inlinenoexcept

Checks if a value is within the range.

Parameters
[in]valueValue to be checked.
Returns
True if the value is within the range (border included), false otherwise.
Exceptions
Doesnot throw any exception.

◆ IntersectsWith()

bool IntersectsWith ( ValueRange< T >  other) const
inlinenoexcept

Checks if this value range intersects with another value range.

Parameters
[in]otherRange for intersection test.
Returns
True if this range and the other range have at least one value in common, false otherwise.
Exceptions
Doesnot throw any exception.

◆ Max()

T Max ( ) const
inlinenoexcept

Gets the maximum value.

Returns
The minimum value.
Exceptions
Doesnot throw any exception.

◆ Min()

T Min ( ) const
inlinenoexcept

Gets the minimum value.

Returns
The minimum value.
Exceptions
Doesnot throw any exception.

◆ operator!=()

bool operator!= ( const ValueRange< T > &  valueRange) const
inlinenoexcept

Compares to an other value range.

Parameters
[in]valueRangeOther value range.
Returns
True if not equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ operator==()

bool operator== ( const ValueRange< T > &  valueRange) const
inlinenoexcept

Compares to an other value range.

Parameters
[in]valueRangeOther value range.
Returns
True if equal, otherwise false.
Exceptions
Doesnot throw any exception.

◆ SetMax()

void SetMax ( T  max)
inline

Sets the maximum value.

Parameters
[in]maxNew maximum value, must be greater or equal than the current minimum value.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ SetMin()

void SetMin ( T  min)
inline

Sets the minimum value.

Parameters
[in]minNew minimum value, must be less or equal than the current maximum value.
Exceptions
Anyexception derived from std::exception including CvbException.