43 template<
typename value_t>
60 constexpr logical_not(value_t value) : value {std::move(value)} {}
69 template<
typename... args_t>
70 constexpr auto operator()(args_t&&...
args)
const {
return !value(std::forward<args_t>(
args)...);}
78 [[no_unique_address]] value_t value;
82 template<
typename vakue_t>
83 requires std::is_base_of_v<expression, std::decay_t<vakue_t>>
124 template<
typename value_t>
Contains xtd::expressions::as_expression methods.
The xtd::expressions::expression_operand object is expression operand concept.
Definition expression_operand.hpp:27
Contains xtd::expressions::expression_operand concept.
Contains xtd::expressions::expression_stream struct.
constexpr auto operator<<(left_t left, right_t right)
Subtract the specified left and right operands.
Definition left_shift.hpp:127
operator_precedence
Specifies the operator precedence.
Definition operator_precedence.hpp:22
constexpr auto operator!(value_t value)
Add the specified left and right operands.
Definition logical_not.hpp:126
@ logical_not
Represnets the logical not operator precedence (!a).
Definition operator_precedence.hpp:56
constexpr decltype(auto) as_expression(type_t &&value)
The xtd::expressions::as_expression method convert a type as xtd::expressions::expression.
Definition as_expression.hpp:33
@ e
The E key.
Definition console_key.hpp:96
The xtd::expressions namespace provides a lightweight, composable expression template framework for b...
Definition add.hpp:14
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Generates a set of positional args that can be decomposed using structured bindings to build readable...
Definition args.hpp:42
The xtd::expressions::expression_stream is the streamable class for expression objects.
Definition expression_stream.hpp:23
static constexpr auto logical_not(value_t value)
Logical not the specified left and right operands.
static constexpr auto value(type_t value)
Gets the value value.
The xtd::expressions::logical_not is the not expression.
Definition logical_not.hpp:44
static constexpr operator_precedence precedence
The operator precedence. That contains one of xtd::expressions::operator_precedence values.
Definition logical_not.hpp:49
constexpr logical_not(value_t value)
Initialize a new xtd::expressions::logical_not object with specified value operand.
Definition logical_not.hpp:60
constexpr auto operator()(args_t &&... args) const
Add the specified arguments.
Definition logical_not.hpp:70
constexpr logical_not()=default
Initialize a new xtd::expressions::logical_not object.
The xtd::expressions::value is the value wrapper.
Definition value.hpp:55
Contains xtd::expressions::unary_expression struct.