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

Definition

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

The xtd::expressions::divide is the division expression.

Namespace
xtd::expressions
Header
#include <xtd/expressions/divide>
Library
xtd.core
Examples
The following example shows how to use xtd::expressions::expression::divide.
#include <xtd/xtd>
auto main() -> int {
// auto divide1 = [](auto&& _) {return _ / 10;};
auto divide1 = _ / 10;
println("divide1 result => {}", divide1(50));
auto divide2 = expression::divide(_, 10);
println("divide2 result => {}", divide2(50));
// auto divide3 = [](auto&& _1, auto&& _2) {return _1 / _2;};
auto divide3 = _1 / _2;
println("add3 result => {}", divide3(60, 15));
auto divide4 = expression::divide(_1, _2);
println("add4 result => {}", divide4(60, 15));
}
// This code produces the following output :
//
// divide1 result => 5
// divide2 result => 5
//
// divide3 result => 4
// divide4 result => 4
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 divide(left_t left, right_t right)
Divide the specified left and right operands.
Remarks
The xtd::expressions::divide struct is used by xtd::expressions::expression::divide expression.

Public Fields

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

Public Constructors

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

Public Operators

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

Additional Inherited Members

Constructor & Destructor Documentation

◆ divide() [1/2]

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

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

◆ divide() [2/2]

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

Initialize a new xtd::expressions::divide 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::divide< left_t, right_t >::operator() ( args_t &&... args) const
inlineconstexpr

Divide the specified arguments.

Parameters
argsthe arguments to divide.
Returns
The result of divison.

Member Data Documentation

◆ precedence

template<typename left_t, typename right_t>
operator_precedence xtd::expressions::divide< 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: