Everett
Loading...
Searching...
No Matches
Public Types | Static Public Attributes | List of all members
everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch > Struct Template Reference

#include <policy.h>

Public Types

using architecture = Arch
 
using registry_type = Registry
 
using registry = registry_traits< Registry >
 
using backspace_encoding = BackspaceCode
 

Static Public Attributes

static constexpr profile_unit unit = registry::unit
 
static constexpr bit_backspace_code backspace_code = policy_detail::backspace_traits<BackspaceCode>::code
 
static constexpr std::uint64_t backspace_parameter = policy_detail::backspace_traits<BackspaceCode>::parameter
 
static constexpr std::uint64_t group_size = GroupSize
 
static constexpr std::uint64_t codec_block_size = CodecBlockSize
 
static constexpr unsigned class_bits = static_cast<unsigned>(std::bit_width(GroupSize))
 
static constexpr unsigned unit_shift = unit == profile_unit::byte ? 3 : 0
 
static constexpr unsigned bits_per_unit = 1u << unit_shift
 
static constexpr bool fixed_width = registry::fixed_width
 
static constexpr std::optional< std::uint64_t > value_width = registry::value_width
 

Member Typedef Documentation

◆ architecture

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
using everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::architecture = Arch

◆ backspace_encoding

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
using everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::backspace_encoding = BackspaceCode

◆ registry

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
using everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::registry = registry_traits<Registry>

◆ registry_type

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
using everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::registry_type = Registry

Member Data Documentation

◆ backspace_code

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr bit_backspace_code everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::backspace_code = policy_detail::backspace_traits<BackspaceCode>::code
staticconstexpr

◆ backspace_parameter

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr std::uint64_t everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::backspace_parameter = policy_detail::backspace_traits<BackspaceCode>::parameter
staticconstexpr

◆ bits_per_unit

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr unsigned everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::bits_per_unit = 1u << unit_shift
staticconstexpr

◆ class_bits

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr unsigned everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::class_bits = static_cast<unsigned>(std::bit_width(GroupSize))
staticconstexpr

◆ codec_block_size

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr std::uint64_t everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::codec_block_size = CodecBlockSize
staticconstexpr

◆ fixed_width

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr bool everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::fixed_width = registry::fixed_width
staticconstexpr

◆ group_size

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr std::uint64_t everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::group_size = GroupSize
staticconstexpr

◆ unit

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr profile_unit everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::unit = registry::unit
staticconstexpr

◆ unit_shift

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr unsigned everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::unit_shift = unit == profile_unit::byte ? 3 : 0
staticconstexpr

◆ value_width

template<class Registry = unsorted<std::optional<std::string>>, std::uint64_t GroupSize = 15, class BackspaceCode = exponential_golomb<0>, std::uint64_t CodecBlockSize = GroupSize, simd::architecture Arch = simd::scalar>
constexpr std::optional<std::uint64_t> everett::storage_policy< Registry, GroupSize, BackspaceCode, CodecBlockSize, Arch >::value_width = registry::value_width
staticconstexpr

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