Implements all the various equality and relational operators for the type T which is assumed to encapsulate some value that can be accessed by dereferencing T or in other words T::operator*() returns the underlying value.
More...
#include <Operators.h>
Inherited by GUIOptionalParam< ParamValue >, GUIVstParam< bool >, and GUIVstParam< Percent >.
|
| constexpr bool | operator!= (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator!= (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator!= (V const &lhs, T const &rhs) |
| constexpr bool | operator< (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator< (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator< (V const &lhs, T const &rhs) |
| constexpr bool | operator<= (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator<= (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator<= (V const &lhs, T const &rhs) |
| constexpr bool | operator== (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator== (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator== (V const &lhs, T const &rhs) |
| constexpr bool | operator> (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator> (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator> (V const &lhs, T const &rhs) |
| constexpr bool | operator>= (T const &lhs, T const &rhs) |
| template<typename V> |
| constexpr bool | operator>= (T const &lhs, V const &rhs) |
| template<typename V> |
| constexpr bool | operator>= (V const &lhs, T const &rhs) |
template<typename T>
class pongasoft::Utils::Operators::Dereferenceable< T >
Implements all the various equality and relational operators for the type T which is assumed to encapsulate some value that can be accessed by dereferencing T or in other words T::operator*() returns the underlying value.
If T::operator*() returns a primitive, then it should just work and nothing else needs to be done.
If T::operator*() returns another class or struct, then the following operators should be defined (you can define only some of them depending on your use):
struct S {...};
struct T {
constexpr S const & operator *() const {...}
};
constexpr bool operator==(
const S &lhs,
const S &rhs) {...};
constexpr bool operator<(
const S &lhs,
const S &rhs) {...};
template<typename V>
constexpr bool operator==(
const S &lhs,
const V &rhs) {...};
template<typename V>
constexpr bool operator<(
const S &lhs,
const V &rhs) {...};
friend constexpr bool operator==(T const &lhs, T const &rhs)
Definition Operators.h:59
friend constexpr bool operator<(T const &lhs, T const &rhs)
Definition Operators.h:63
- Note
- This code is primarily used by the various XXParam classes which encapsulates some type.
◆ operator!= [1/3]
template<typename T>
| bool operator!= |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator!= [2/3]
template<typename T>
template<typename V>
| bool operator!= |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator!= [3/3]
template<typename T>
template<typename V>
| bool operator!= |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator< [1/3]
template<typename T>
| bool operator< |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator< [2/3]
template<typename T>
template<typename V>
| bool operator< |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator< [3/3]
template<typename T>
template<typename V>
| bool operator< |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator<= [1/3]
template<typename T>
| bool operator<= |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator<= [2/3]
template<typename T>
template<typename V>
| bool operator<= |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator<= [3/3]
template<typename T>
template<typename V>
| bool operator<= |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator== [1/3]
template<typename T>
| bool operator== |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator== [2/3]
template<typename T>
template<typename V>
| bool operator== |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator== [3/3]
template<typename T>
template<typename V>
| bool operator== |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator> [1/3]
template<typename T>
| bool operator> |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator> [2/3]
template<typename T>
template<typename V>
| bool operator> |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator> [3/3]
template<typename T>
template<typename V>
| bool operator> |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator>= [1/3]
template<typename T>
| bool operator>= |
( |
T const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
◆ operator>= [2/3]
template<typename T>
template<typename V>
| bool operator>= |
( |
T const & | lhs, |
|
|
V const & | rhs ) |
|
friend |
◆ operator>= [3/3]
template<typename T>
template<typename V>
| bool operator>= |
( |
V const & | lhs, |
|
|
T const & | rhs ) |
|
friend |
The documentation for this class was generated from the following file: