native 0.0.1
Vectors, masks and wide register packs for C++26
Loading...
Searching...
No Matches
native::mask_lane< U > Struct Template Reference

#include <common.h>

Public Member Functions

constexpr mask_lane () noexcept=default
 Initialize this lane to false.
constexpr mask_lane (bool value) noexcept
 Represent the supplied truth value as zero or all-one bits.
constexpr U to_bits () const noexcept
 Return the canonical zero or all-one representation.
constexpr bool to_bool () const noexcept
 Return the lane truth value.

Static Public Member Functions

static constexpr mask_lane from_bits (U value) noexcept
 Normalize nonzero bits to a true, all-one lane.

Friends

constexpr mask_lane operator! (mask_lane a) noexcept
 Return the lane-wise logical complement, retaining this mask type.
constexpr mask_lane operator~ (mask_lane a) noexcept
 Invert each lane truth value, preserving the mask representation.
constexpr mask_lane operator& (mask_lane a, mask_lane b) noexcept
 Bitwise AND of corresponding lane representations.
constexpr mask_lane operator| (mask_lane a, mask_lane b) noexcept
 Bitwise OR of corresponding lane representations.
constexpr mask_lane operator^ (mask_lane a, mask_lane b) noexcept
 Bitwise XOR of corresponding lane representations.
constexpr bool operator== (mask_lane, mask_lane) noexcept=default
 Compare the two canonical lane truth values and return bool.

Detailed Description

template<class U>
requires (std::is_unsigned_v<U> && !std::same_as<U,bool> && (sizeof(U)==1 || sizeof(U)==2 || sizeof(U)==4 || sizeof(U)==8))
struct native::mask_lane< U >

A Boolean lane with exactly zero or all-one object representation. Numeric arithmetic is deliberately absent. from_bits tests nonzero; it does not preserve arbitrary input bits.

Definition at line 89 of file common.h.


The documentation for this struct was generated from the following file: