kumi v3.1.0
Exquisite Epidote
 
Loading...
Searching...
No Matches

◆ bit_xor() [2/2]

template<product_type T, typename Value >
constexpr auto kumi::bit_xor ( T &&  t,
Value  init 
)
inlineconstexpr

Computes the bitwise XOR of all elements.

Parameters
tProduct type to operate on
initOptional initial value of the reduction
Returns
The value of get<0>(t) ^ ... ^ get<N-1>(t) ^ init

Helper type

namespace kumi::result
{
template<product_type T, typename Value> struct bit_xor;
template<product_type T, typename Value>
using bit_xor_t = typename bit_xor<T,Value>::type;
}

Computes the return type of a call to kumi::bit_xor

Example

#include <kumi/kumi.hpp>
#include <iostream>
int main()
{
auto t = kumi::tuple{1,short{8},' ', 4ULL};
std::cout << kumi::bit_xor(t, 0) << "\n";
std::cout << kumi::bit_xor(t) << "\n";
}
constexpr auto bit_xor(T &&t, Value init)
Computes the bitwise XOR of all elements.
Definition reduce.hpp:471
Fixed-size collection of heterogeneous values.
Definition tuple.hpp:37