#include <concepts>#include <cstddef>#include <optional>#include <type_traits>#include <utility>#include <variant>

Go to the source code of this file.
Namespaces | |
| namespace | StormByte |
| Root namespace of the StormByte suite. | |
| namespace | Type |
| Octet count. Defined in byte_size.hxx. Forwarded so Type::Numeral can name it. | |
| namespace | StormByte::Type |
| Named concepts and small type utilities used across the suite. | |
| namespace | Detail |
| Private helpers. | |
| namespace | StormByte::Type::Detail |
Concepts | |
| concept | StormByte::Type::Optional |
Exactly std::optional<U> for some U. | |
| concept | StormByte::Type::Variant |
Instantiation of std::variant, after stripping cv and references. | |
| concept | StormByte::Type::VariantHasType |
StormByte::Type::Variant T that lists U among its alternatives. | |
| concept | StormByte::Type::Pair |
Type with accessible first and second members. | |
Functions | |
| template<typename VariantT , typename U , std::size_t... I> | |
| constexpr bool | StormByte::Type::Detail::variant_has_type_impl (std::index_sequence< I... > seq) noexcept |
Fold: is stripped U one of VariantT's alternatives? | |
Variables | |
| template<typename T > | |
| constexpr bool | StormByte::Type::Detail::is_variant_v = false |
true when T is exactly std::variant after stripping cv and references. | |
| template<typename VariantT , typename U > | |
| constexpr bool | StormByte::Type::Detail::variant_has_type_v |
| Convenience wrapper around StormByte::Type::Detail::variant_has_type_impl. | |