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

Definition

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

The xtd::expressions::xor_expression is the bitwise xor expression.

Namespace
xtd::expressions
Header
#include <xtd/expressions/xor_expression>
Library
xtd.core
Remarks
The xtd::expressions::xor_expression struct is used by xtd::expressions::expression::xor_ expression.
Examples
The following example shows how to use xtd::expressions::xor_expression.
#include <xtd/xtd>
auto main() -> int {
//auto bit_xor1 = [](auto&& _) {return _ ^ 0x0F;};
auto bit_xor1 = _ ^ 0x0F;
println("bit_xor1 result => {}", bit_xor1(42));
//auto bit_xor2 = [](auto&& _1, auto&& _2) {return _1 ^ _2;};
auto bit_xor2 = _1 ` _2;
println("bit_xor2 result => {}", bit_xor2(42, 0xF0));
}
// This code produces the following output :
//
// bit_xor1 result => 37
// bit_xor2 result => 218
constexpr auto _
The xtd::expressions::_ placeholder instance is used by expression that have only one argument.
Definition args.hpp:66
constexpr auto _2
The xtd::expressions::_2 placeholder instance is second argument used by expression.
Definition args.hpp:117
constexpr auto _1
The xtd::expressions::_1 placeholder instance is first argument used by expression.
Definition args.hpp:92
void println()
Writes the current line terminator to the standard output stream using the specified format informati...
Definition println.hpp:167

Public Fields

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

Public Constructors

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

Public Operators

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

Additional Inherited Members

Constructor & Destructor Documentation

◆ xor_expression() [1/2]

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

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

◆ xor_expression() [2/2]

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

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

Bitwise xor the specified arguments.

Parameters
argsthe arguments to bitwise xor.
Returns
The result of xor.

Member Data Documentation

◆ precedence

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