Represents a numeric range with defined boundaries and a fixed increment. More...
#include <peak_common/types/peak_common_range.hpp>
Public Types | |
| using | type = T |
| Public Types inherited from peak::common::detail::IntervalT< T > | |
| using | type = T |
Public Member Functions | |
| constexpr | RangeT (T minimum, T maximum, T increment) |
| Constructs a range with specified minimum, maximum, and increment values. | |
| PEAK_COMMON_NO_DISCARD constexpr T | GetIncrement () const |
| Retrieves the increment value associated with this range. | |
| PEAK_COMMON_NO_DISCARD constexpr T | Constrain (T value) const |
| Returns a value that is constrained to this range. | |
| constexpr bool | operator== (const RangeT &rhs) const |
| Compares this range with another for equality. | |
| constexpr bool | operator!= (const RangeT &rhs) const |
| Compares this range with another for inequality. | |
| PEAK_COMMON_NO_DISCARD std::string | ToString () const |
| Returns a string representation of the range. | |
| Public Member Functions inherited from peak::common::detail::IntervalT< T > | |
| constexpr | IntervalT (T minimum, T maximum) |
| Constructs an interval with the given lower and upper bounds. | |
| PEAK_COMMON_NO_DISCARD constexpr T | GetMinimum () const |
| Returns the lower boundary of the interval. | |
| PEAK_COMMON_NO_DISCARD constexpr T | GetMaximum () const |
| Returns the upper boundary of the interval. | |
| PEAK_COMMON_NO_DISCARD constexpr T | Clamp (T value) const |
| Clamps a value to the bounds of this interval. | |
| template<typename H> | |
| constexpr bool | operator== (const IntervalT< H > &rhs) const |
| Compares two intervals for equality (integral types). | |
| template<typename H> | |
| constexpr bool | operator== (const IntervalT< H > &rhs) const |
| Compares two intervals for approximate equality (floating-point types). | |
| constexpr bool | operator!= (const IntervalT &rhs) const |
| Inequality comparison operator. | |
| PEAK_COMMON_NO_DISCARD std::string | ToString () const |
| Returns a string representation of the interval. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, RangeT range) |
| Outputs the range as a human-readable string to a stream. | |
Represents a numeric range with defined boundaries and a fixed increment.
A RangeT models a continuous sequence of values starting from a minimum value, ending at a maximum value, and progressing in steps defined by an increment. It supports arithmetic types such as integers and floating-point numbers.
This class ensures that the increment does not exceed the total span between the minimum and maximum bounds. The range is inclusive of its boundary values.
| T | The numeric type used for the range values. Must be an arithmetic type (e.g., int, float). |
| using peak::common::detail::RangeT< T >::type = T |
|
inlineconstexpr |
Constructs a range with specified minimum, maximum, and increment values.
| minimum | The inclusive starting (lower) boundary of the range. |
| maximum | The inclusive ending (upper) boundary of the range. |
| increment | The step size or increment between values within the range. |
| InvalidParameterException | If minimum is greater than maximum, or if increment exceeds the total range span. |
|
inlineconstexpr |
Returns a value that is constrained to this range.
The value is adjusted to the nearest valid increment and clamped between the minimum and maximum boundaries of this range.
| value | The value to constrain. |
|
inlineconstexpr |
Retrieves the increment value associated with this range.
|
inlineconstexpr |
Compares this range with another for inequality.
| rhs | The other range to compare with. |
|
inlineconstexpr |
Compares this range with another for equality.
Two ranges are equal if their boundaries and increments are the same.
| rhs | The other range to compare with. |
|
inline |
Returns a string representation of the range.
|
friend |
Outputs the range as a human-readable string to a stream.
| os | The output stream. |
| range | The range to print. |