unary_op Struct Template
Common base struct template for unary comparators. More...
Declaration
struct micro_os_plus::micro_test_plus::detail::unary_op<T> { ... }
Included Headers
Base struct
| struct | op |
|
Empty base struct for the framework expression types. More... | |
Derived Structs
| struct | not_op<T> |
|
Logical NOT comparator struct template. More... | |
| struct | predicate_op<T, Predicate_T> |
|
Unary predicate struct template. More... | |
Public Member Typedefs Index
template <class T> | |
| using | op_type = op |
|
Marker identifying the framework expression types. More... | |
Public Constructors Index
template <class U> | |
| constexpr | unary_op (U &&t, bool value) |
|
Constructs a unary comparator with the given operand and pre-computed result. More... | |
Public Operators Index
template <class T> | |
| constexpr | operator bool () const |
|
Conversion operator to boolean. More... | |
Public Member Functions Index
template <class T> | |
| constexpr auto | operand (void) const -> decltype(auto) |
|
Retrieves the wrapped operand expression. More... | |
Private Member Attributes Index
template <class T> | |
| T | t_ |
|
Stores the operand. More... | |
template <class T> | |
| const bool | value_ {} |
|
Stores the result of the operation. More... | |
Description
Common base struct template for unary comparators.
This base struct stores a single operand and the pre-computed boolean result of a unary operation. Derived structs such as not_op inherit from this to provide logical negation. The result is computed at construction time, enabling consistent handling and reporting of operations throughout the framework.
- Template Parameters
-
T The type of the stored operand, either the operand type, or a const reference to it (see stored_operand_t).
Definition at line 257 of file detail.h.
Public Member Typedefs
op_type
|
Marker identifying the framework expression types.
Detected by the extension::is_op concept, and inherited by all types derived from op.
Definition at line 128 of file extension.h.
Public Constructors
unary_op()
| constexpr |
Constructs a unary comparator with the given operand and pre-computed result.
The operand is forwarded to the member, so that an rvalue is moved, not copied.
- Template Parameters
-
U The type of the operand argument.
- Parameters
-
t The operand.
value The pre-computed boolean result of the operation.
Stores the operand and the pre-computed boolean result of the operation in the corresponding private members.
Declaration at line 273 of file detail.h, definition at line 117 of file detail-inlines.h.
References micro_os_plus::micro_test_plus::detail::unary_op< T >::t_ and micro_os_plus::micro_test_plus::detail::unary_op< T >::value_.
Referenced by micro_os_plus::micro_test_plus::detail::not_op< T >::not_op, micro_os_plus::micro_test_plus::detail::predicate_op< T, Predicate_T >::predicate_op and micro_os_plus::micro_test_plus::detail::unary_op< T >::operator bool.
Public Operators
operator bool()
| nodiscard constexpr |
Conversion operator to boolean.
- Parameters
None.
- Returns
The result of the operation.
Returns the pre-computed boolean result stored by the derived comparator's constructor.
Declaration at line 283 of file detail.h, definition at line 129 of file detail-inlines.h.
References micro_os_plus::micro_test_plus::detail::unary_op< T >::unary_op and micro_os_plus::micro_test_plus::detail::unary_op< T >::value_.
Public Member Functions
operand()
| nodiscard constexpr |
Retrieves the wrapped operand expression.
The operand is unwrapped with detail::unwrap() and returned by reference, so that formatting it does not copy it.
- Parameters
None.
- Returns
The extracted operand value.
Returns the operand, unwrapped by detail::unwrap() if it is a framework wrapper type; the stored operand is not copied.
Declaration at line 297 of file detail.h, definition at line 141 of file detail-inlines.h.
References micro_os_plus::micro_test_plus::detail::unary_op< T >::operand, micro_os_plus::micro_test_plus::detail::unary_op< T >::t_ and micro_os_plus::micro_test_plus::detail::unwrap.
Referenced by micro_os_plus::micro_test_plus::detail::unary_op< T >::operand.
Private Member Attributes
t_
|
Stores the operand.
A value, moved from a temporary or copied from a named operand, or, for a named operand that cannot be copied, a const reference to it (see stored_operand_t). It is not const, so that a temporary expression can be moved into an enclosing one.
Definition at line 309 of file detail.h.
Referenced by micro_os_plus::micro_test_plus::detail::unary_op< T >::unary_op and micro_os_plus::micro_test_plus::detail::unary_op< T >::operand.
value_
|
Stores the result of the operation.
Computed once, by the derived comparator constructor.
Definition at line 317 of file detail.h.
Referenced by micro_os_plus::micro_test_plus::detail::unary_op< T >::unary_op and micro_os_plus::micro_test_plus::detail::unary_op< T >::operator bool.
The documentation for this struct was generated from the following files:
Generated via doxygen2docusaurus 2.2.8 by Doxygen 1.18.0.