kumi
v3.1.0
Exquisite Epidote
Loading...
Searching...
No Matches
◆
bit_and()
[2/2]
template<concepts::product_type T, typename Value>
auto kumi::bit_and
(
T &&
t
,
Value
init
)
inline
nodiscard
constexpr
Computes the bitwise AND of all elements.
Parameters
t
Product type to operate on
init
Optional 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_and
;
template
<product_type T,
typename
Value>
using
bit_and_t =
typename
bit_and<T,Value>::type
;
}
kumi::bit_and
constexpr auto bit_and(T &&t, Value init)
Computes the bitwise AND of all elements.
Definition
reduce.hpp:354
Computes the return type of a call to
kumi::bit_and
Examples:
#include <kumi/kumi.hpp>
#include <iostream>
int
main()
{
auto
t =
kumi::tuple
{14,
short
{7}, 255ULL};
std::cout <<
kumi::bit_and
(t, 65535) <<
"\n"
;
std::cout <<
kumi::bit_and
(t) <<
"\n"
;
}
kumi::tuple
Fixed-size collection of heterogeneous values.
Definition
tuple.hpp:29
#include <kumi/kumi.hpp>
#include <iostream>
int
main()
{
using namespace
kumi::literals;
auto
t =
kumi::record
{
"a"
_id = 14,
"b"
_id =
short
{7},
"c"
_id = 255ULL};
std::cout <<
kumi::bit_and
(t, 65535) <<
"\n"
;
std::cout <<
kumi::bit_and
(t) <<
"\n"
;
}
kumi::record
Fixed-size collection of heterogeneous fields necessarily named, names are unique.
Definition
record.hpp:29
kumi