Contains expressions definitions.
Functions | |
| template<size_t count> | |
| constexpr auto | xtd::expressions::args () |
| Generates a set of positional placeholders that can be decomposed using structured bindings to build readable and composable expression templates. | |
| template<typename member_t> | |
| constexpr auto | xtd::expressions::member (member_t member) |
| The xtd::expressions::member is use to bind object member. | |
| template<typename member_t> | |
| constexpr auto | xtd::expressions::member (const char *name, member_t member) |
| The xtd::expressions::member is use to bind object member. | |
| template<typename method_t, typename... args_t> | |
| constexpr auto | xtd::expressions::method (method_t method, args_t &&... args) |
| The xtd::expressions::method is use to bind object method. | |
| template<typename method_t, typename... args_t> | |
| constexpr auto | xtd::expressions::method (const char *name, method_t method, args_t &&... args) |
| The xtd::expressions::method is use to bind object method. | |
Public Variables | |
| template<size_t index> | |
| constexpr xtd::expressions::placeholder< index > | xtd::expressions::arg |
| The xtd::expressions::arg instance is the index argument used by expression. | |
| constexpr auto | xtd::expressions::_ |
| The xtd::expressions::_ placeholder instance is used by expression that have only one argument. | |
| constexpr auto | xtd::expressions::_1 |
| The xtd::expressions::_1 placeholder instance is first argument used by expression. | |
| constexpr auto | xtd::expressions::_2 |
| The xtd::expressions::_2 placeholder instance is second argument used by expression. | |
| constexpr auto | xtd::expressions::_3 |
| The xtd::expressions::_3 placeholder instance is third argument used by expression. | |
| constexpr auto | xtd::expressions::_4 |
| The xtd::expressions::_4 placeholder instance is fourth argument used by expression. | |
| constexpr auto | xtd::expressions::_5 |
| The xtd::expressions::_5 placeholder instance is fifth argument used by expression. | |
| constexpr auto | xtd::expressions::_6 |
| The xtd::expressions::_6 placeholder instance is sixth argument used by expression. | |
| constexpr auto | xtd::expressions::_7 |
| The xtd::expressions::_7 placeholder instance is seventh argument used by expression. | |
| constexpr auto | xtd::expressions::_8 |
| The xtd::expressions::_8 placeholder instance is eighth argument used by expression. | |
| constexpr auto | xtd::expressions::_9 |
| The xtd::expressions::_9 placeholder instance is ninth argument used by expression. | |
| constexpr auto | xtd::expressions::_10 |
| The xtd::expressions::_10 placeholder instance is tenth argument used by expression. | |
Public Operators | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator+ (left_t left, right_t right) |
| Add the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator& (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator<=> (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator/ (left_t left, right_t right) |
| Divide the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator== (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator> (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator>= (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator<< (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator< (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator<= (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator&& (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename value_t> | |
| constexpr auto | xtd::expressions::operator! (value_t value) |
| Add the specified left and right operands. | |
| template<typename expression_t, typename member_t> | |
| constexpr auto | xtd::expressions::operator* (expression_t expression, member_type< member_t > member) |
| Bind member operator. | |
| template<typename expression_t, typename member_t> | |
| constexpr auto | xtd::expressions::operator| (expression_t expression, member_type< member_t > member) |
| Bind member operator. | |
| template<typename expression_t, typename method_t, typename... stored_args_t> | |
| constexpr auto | xtd::expressions::operator* (expression_t expression, method_type< method_t, stored_args_t... > method) |
| Bind method operator. | |
| template<typename expression_t, typename method_t, typename... stored_args_t> | |
| constexpr auto | xtd::expressions::operator| (expression_t expression, method_type< method_t, stored_args_t... > method) |
| Bind method alternative operator. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator% (left_t left, right_t right) |
| Performs a modulo on the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator* (left_t left, right_t right) |
| Multiply the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator!= (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename value_t> | |
| constexpr auto | xtd::expressions::operator~ (value_t value) |
| Add the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator|| (left_t left, right_t right) |
| Equal to the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator| (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator>> (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator- (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
| template<typename value_t> | |
| constexpr auto | xtd::expressions::operator- (value_t value) |
| Add the specified left and right operands. | |
| template<typename value_t> | |
| constexpr auto | xtd::expressions::operator+ (value_t value) |
| Add the specified left and right operands. | |
| template<typename left_t, typename right_t> | |
| constexpr auto | xtd::expressions::operator^ (left_t left, right_t right) |
| Subtract the specified left and right operands. | |
Public Functions | |
| template<typename type_t> | |
| constexpr decltype(auto) | xtd::expressions::as_expression (type_t &&value) |
| The xtd::expressions::as_expression method convert a type as xtd::expressions::expression. | |
|
strong |
#include <operator_precedence.hpp>
Specifies the operator precedence.
| Enumerator | |
|---|---|
| highest | Represnets the highest operator precedence. |
| placeholder | Represnets the placeholder operator precedence (_1). |
| constant | Represnets the constant operator precedence (constant<42>). |
| value | Represnets the constant operator precedence (42). |
| scope_resolution | Represnets the scope resolution operator precedence (a::b). |
| postfix_increment | Represnets the postfix increment operator precedence (a++). |
| postfix_decrement | Represnets the postfix decrement operator precedence (a--). |
| functional_cast | Represnets the functional cast operator precedence (type(a) type {a}). |
| function_call | Represnets the function call operator precedence (a()). |
| subscript | Represnets the subscript operator precedence (a[]). |
| member_access | Represnets the member access operator precedence (a.b a->b). |
| method_access | Represnets the method access operator precedence (a.b a->b). |
| prefix_increment | Represnets the prefix increment operator precedence (++a). |
| prefix_decrement | Represnets the prefix decrement operator precedence (--a). |
| unary_plus | Represnets the unary plus operator precedence (+a). |
| unary_minus | Represnets the unary minus operator precedence (-a). |
| logical_not | Represnets the logical not operator precedence (!a). |
| bitwise_not | Represnets the bitwise not operator precedence (~a). |
| c_ctyle_cast | Represnets the c ctyle cast operator precedence ((type)a). |
| indirection | Represnets the indirection operator precedence (*a). |
| address_of | Represnets the address of operator precedence (&a). |
| reflection | Represnets the reflection operator precedence (^^a). |
| size_of | Represnets the size of operator precedence (sizeof). |
| await | Represnets the await operator precedence (co_await). |
| new_allocation | Represnets the new allocation operator precedence (new new[]). |
| delete_dallocation | Represnets the delete dallocation operator precedence (delete delete[]). |
| pointer_to_member | Represnets the pointer to member operator precedence (a.*.b a->*b). |
| multiplication | Represnets the multiplication operator precedence (a * b). |
| division | Represnets the division operator precedence (a / b). |
| modulo | Represnets the modulo operator precedence (a % b). |
| addition | Represnets the addition operator precedence (a + b). |
| subtraction | Represnets the subtraction operator precedence (a - b). |
| bitwise_left | Represnets the bitwise left operator precedence (a << b). |
| bitwise_right | Represnets the bitwise right operator precedence (a >> b). |
| three_way_comparison | Represnets the three way comparison operator precedence (a <=> b). |
| relational | Represnets the relational operator precedence (a < b, a <= b a > b a >= b). |
| less | Represnets the less operator precedence (a < b). |
| less_or_equal | Represnets the less or equal operator precedence (a <= b). |
| greater | Represnets the greater operator precedence (a > b). |
| greater_or_equal | Represnets the greater or equal operator precedence (a >= b). |
| equality | Represnets the equality operator precedence (a == b // a != b). |
| equal | Represnets the equal operator precedence (a == b). |
| not_equal | Represnets the not equal operator precedence (a != b). |
| bitwise_and | Represnets the bitwise and operator precedence (a & b). |
| bitwise_xor | Represnets the bitwise xor operator precedence (a ^ b). |
| bitwise_or | Represnets the bitwise or operator precedence (a | b). |
| logical_and | Represnets the logical and operator precedence (a && b). |
| logical_or | Represnets the logical or operator precedence (a || b). |
| ternary | Represnets the ternary operator precedence (a ? a : c). |
| throws | Represnets the throws operator precedence (throw). |
| yield | Represnets the yield operator precedence (co_yield). |
| assignment | Represnets the assignment operator precedence (a = b). |
| compound_assignment | Represnets the compound assignment operator precedence (a += b a += b a -= b a *= b a /= b a %= b a <<= b a >>= b a &= b a ^= b a |= b). |
| compound_sum_assignment | Represnets the compound sum assignment operator precedence (a += b). |
| compound_difference_assignment | Represnets the compound difference assignment operator precedence (a -= b). |
| compound_product_assignment | Represnets the compound product assignment operator precedence (a *= b). |
| compound_quotient_assignment | Represnets the compound quotient assignment operator precedence (a /= b). |
| compound_modulo_assignment | Represnets the compound modulo assignment operator precedence (a %= b). |
| compound_bitwise_left_assignment | Represnets the compound bitwise left assignment operator precedence (a <<= b). |
| compound_bitwise_right_assignment | Represnets the compound bitwise right assignment operator precedence (a >>= b). |
| compound_bitwise_and_assignment | Represnets the compound bitwise and assignment operator precedence (a &= b). |
| compound_bitwise_xor_assignment | Represnets the compound bitwise xor assignment operator precedence (a ^= b). |
| compound_bitwise_or_assignment | Represnets the compound bitwise or assignment (a |= b) operator precedence (). |
| comma | Represnets the coma operator precedence (a, b). |
| lowest | Represnets the lowest operator precedence. |
|
constexpr |
#include <add_expression.hpp>
Add the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <and_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <args.hpp>
Generates a set of positional placeholders that can be decomposed using structured bindings to build readable and composable expression templates.
|
constexpr |
#include <as_expression.hpp>
The xtd::expressions::as_expression method convert a type as xtd::expressions::expression.
| value | The value to convert. @raturn The result as xtd::expressions::expression. |
|
constexpr |
#include <compare_three_way_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <divide_expression.hpp>
Divide the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <equal_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <greater_than_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <greater_than_or_equal_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <left_shift_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <less_than_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <less_than_or_equal_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <logical_and_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <logical_not_expression.hpp>
Add the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <member_expression.hpp>
The xtd::expressions::member is use to bind object member.
|
constexpr |
#include <member_expression.hpp>
The xtd::expressions::member is use to bind object member.
|
constexpr |
#include <member_expression.hpp>
Bind member operator.
| expression | The expression that associate to the binded member. |
| member | The binded mehtod to execute. |
|
constexpr |
#include <member_expression.hpp>
Bind member operator.
| expression | The expression that associate to the binded member. |
| member | The binded mehtod to execute. |
|
constexpr |
#include <method_call_expression.hpp>
The xtd::expressions::method is use to bind object method.
|
constexpr |
#include <method_call_expression.hpp>
The xtd::expressions::method is use to bind object method.
|
constexpr |
#include <method_call_expression.hpp>
Bind method operator.
| expression | The expression that associate to the binded method. |
| method | The binded mehtod to execute. |
|
constexpr |
#include <method_call_expression.hpp>
Bind method alternative operator.
| expression | The expression that associate to the binded method. |
| method | The binded mehtod to execute. |
|
constexpr |
#include <modulo_expression.hpp>
Performs a modulo on the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <multiply_expression.hpp>
Multiply the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <not_equal_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <not_expression.hpp>
Add the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <or_else_expression.hpp>
Equal to the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <or_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <right_shift_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <subtract_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <unary_minus_expression.hpp>
Add the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <unary_plus_expression.hpp>
Add the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
constexpr |
#include <xor_expression.hpp>
Subtract the specified left and right operands.
| left | The left operand. |
| right | The right operand. |
|
inlineconstexpr |
#include <arg.hpp>
The xtd::expressions::arg instance is the index argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_ placeholder instance is used by expression that have only one argument.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_1 placeholder instance is first argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_2 placeholder instance is second argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_3 placeholder instance is third argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_4 placeholder instance is fourth argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_5 placeholder instance is fifth argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_6 placeholder instance is sixth argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_7 placeholder instance is seventh argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_8 placeholder instance is eighth argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_9 placeholder instance is ninth argument used by expression.
|
inlineconstexpr |
#include <args.hpp>
The xtd::expressions::_10 placeholder instance is tenth argument used by expression.