xtd 1.0.0
Loading...
Searching...
No Matches
xtd::expressions::add< left_t, right_t > Struct Template Reference
Inheritance diagram for xtd::expressions::add< left_t, right_t >:
xtd::expressions::binary_expression xtd::expressions::expression

Definition

template<typename left_t, typename right_t>
struct xtd::expressions::add< left_t, right_t >

The xtd::expressions::add is the add expression.

Namespace
xtd::expressions
Header
#include <xtd/expressions/add>
Library
xtd.core
Examples
The following example shows how to use xtd::expressions::expression::add.
#include <xtd/xtd>
auto main() -> int {
// auto expr1 = [](auto&& _) {return _ + 10;};
auto expr1 = _ + 10;
println("expr1 = {}", expr1(40));
auto expr2 = expression::add(_, 10);
println("expr2 = {}", expr2(40));
// auto expr3 = [](auto&& _1, auto&& _2) {return _1 + _2;};
auto expr3 = _1 + _2;
println("expr3 = {}", expr3(40, 20));
auto expr4 = expression::add(_1, _2);
println("expr4 = {}", expr4(40, 20));
}
// This code produces the following output :
//
// expr1 = 50
// expr2 = 50
//
// expr3 = 60
// expr4 = 60
constexpr auto _
The xtd::expressions::_ arg instance is used by expression that have only one argument.
Definition args.hpp:68
constexpr auto _2
The xtd::expressions::_2 arg instance is second argument used by expression.
Definition args.hpp:119
constexpr auto _1
The xtd::expressions::_1 arg instance is first argument used by expression.
Definition args.hpp:94
auto println(FILE *file) -> void
Writes the current line terminator to the file output stream using the specified format information.
Definition println.hpp:15
static constexpr auto add(left_t left, right_t right)
Add the specified left and right operands.
Remarks
The xtd::expressions::add struct is used by xtd::expressions::expression::add expression.

Public Fields

static constexpr operator_precedence precedence
 The operator precedence. That contains one of xtd::expressions::operator_precedence values.

Public Constructors

constexpr add ()=default
 Initialize a new xtd::expressions::add object.
constexpr add (left_t left, right_t right)
 Initialize a new xtd::expressions::add object with specified left and right operands.

Public Operators

template<typename... args_t>
constexpr auto operator() (args_t &&... args) const
 Add the specified arguments.

Additional Inherited Members

Constructor & Destructor Documentation

◆ add() [1/2]

template<typename left_t, typename right_t>
xtd::expressions::add< left_t, right_t >::add ( )
constexprdefault

Initialize a new xtd::expressions::add object.

◆ add() [2/2]

template<typename left_t, typename right_t>
xtd::expressions::add< left_t, right_t >::add ( left_t left,
right_t right )
inlineconstexpr

Initialize a new xtd::expressions::add object with specified left and right operands.

Parameters
leftThe left operand.
rightThe right operand.

Member Function Documentation

◆ operator()()

template<typename left_t, typename right_t>
template<typename... args_t>
auto xtd::expressions::add< left_t, right_t >::operator() ( args_t &&... args) const
inlineconstexpr

Add the specified arguments.

Parameters
argsthe arguments to add.
Returns
The result of add.

Member Data Documentation

◆ precedence

template<typename left_t, typename right_t>
operator_precedence xtd::expressions::add< left_t, right_t >::precedence
staticconstexpr

The operator precedence. That contains one of xtd::expressions::operator_precedence values.


The documentation for this struct was generated from the following file:
  • xtd.core/include/xtd/expressions/add.hpp