sbepp
|
Base class for required types. More...
#include <sbepp.hpp>
Public Types | |
using | value_type = T |
Underlying type. | |
Public Member Functions | |
required_base ()=default | |
Default constructor. Constructs value-initialized object. | |
constexpr | required_base (value_type val) noexcept |
Constructs from given value. | |
constexpr value_type | value () const noexcept |
Returns underlying value. | |
constexpr value_type & | operator* () noexcept |
Returns reference to underlying value. | |
constexpr value_type | operator* () const noexcept |
Returns underlying value. | |
constexpr bool | in_range () const noexcept |
Checks if value is in [Derived::min_value(); Derived::max_value()] range. | |
Friends | |
Comparisons | |
Comparisons are performed on underlying values | |
auto | operator<=> (const required_base &, const required_base &)=default |
Available only if SBEPP_HAS_THREE_WAY_COMPARISON == 1. | |
constexpr friend bool | operator== (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is equal to rhs | |
constexpr friend bool | operator!= (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is not equal to rhs | |
constexpr friend bool | operator< (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is less than rhs | |
constexpr friend bool | operator<= (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is less than or equal to rhs | |
constexpr friend bool | operator> (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is greater than rhs | |
constexpr friend bool | operator>= (const required_base &lhs, const required_base &rhs) noexcept |
Tests if lhs is greater than or equal to rhs | |
Base class for required types.
in_range()
check is not enforced implicitly, it's up to client to apply it