<xstd/bits/bit_valarray/bit_fixed_valarray.hpp>¶
basic_bit_fixed_valarray, bit_fixed_valarray¶
template<unsigned_integer Block, size_t N>
requires see below
class basic_bit_fixed_valarray {
public:
// as basic_bit_valarray, with
using block_container_type = array<Block, see below>;
constexpr basic_bit_fixed_valarray() noexcept;
constexpr explicit basic_bit_fixed_valarray(indeterminate_t) noexcept;
template<size_t M>
requires (M == N)
constexpr explicit basic_bit_fixed_valarray(const bool (&a)[M]) noexcept;
template<class Bits>
requires see below
constexpr basic_bit_fixed_valarray(from_blocks_t, const Bits& b) noexcept;
};
As basic_bit_valarray, at a size fixed by its type, with:
bit_fixed_valarray<N>holdsNbools insize_tblocks:std::bitset<N>read elementwise. The requires-clause admitsBlockasbasic_bit_array's does.- There is no constructor from a count, no
resize, no allocator and no adoptingfrom_blocksconstructor. Theinitializer_listconstructor sets the leading positions and leaves the restfalse; the default,indeterminate_t, built-in array andfrom_blocksconstructors arebasic_bit_array's, so a default-initialized one is every positionfalse.size()is a function. - Preconditions: The pointer constructor's
n, and the size a proxy selects for its constructor, isN. - A
constsubscript gathers intobasic_bit_inplace_valarray<Block, N>, whereBlockadmits one, and throwsbad_allocwhere a gather selects more thanNpositions. - Its
constexprmembers are usable in a constant expression, the subscripts by abit_sliceand by a mask included, and it is a structural type exactly whereNfills its blocks.