|
mitteLib
|
#include <algorithm>#include <array>#include <cstdint>#include <limits>#include <mlab/byte_order.hpp>#include <mlab/log.hpp>#include <mlab/tracker_allocator.hpp>#include <type_traits>#include <vector>

Go to the source code of this file.
Classes | |
| struct | mlab::range< Iterator > |
| struct | mlab::tagged_array< class, Size > |
| struct | mlab::explicit_bool |
| struct | mlab::bit_ref |
| struct | mlab::prealloc |
| class | mlab::bin_data |
| class | mlab::bin_stream |
| struct | mlab::lsb_t< Bits > |
| struct | mlab::msb_t< Bits > |
| struct | mlab::ordered_injector< BitSize, Order > |
| struct | mlab::ordered_extractor< BitSize, Order > |
| struct | mlab::length_encoded_t |
| struct | mlab::encode_length< T > |
Namespaces | |
| namespace | mlab_literals |
| namespace | mlab |
Concepts | |
| concept | mlab::is_range_enumerable |
| concept | mlab::is_injectable |
| concept | mlab::is_extractable |
| concept | mlab::is_signed_or_unsigned_v |
| concept | mlab::is_byte_enum |
| concept | mlab::is_byte_enumerable |
| concept | mlab::is_byte_enum_enumerable |
| concept | mlab::is_byte_sequence |
| concept | mlab::container_of_injectables |
| concept | mlab::container_of_extractables |
Typedefs | |
| using | mlab::bin_data_base = std::conditional_t<track_bin_data_mem, std::vector<std::uint8_t, tracker_allocator<std::uint8_t>>, std::vector<std::uint8_t>> |
| template<class T > | |
| using | mlab::underlying_t = std::conditional_t<std::is_enum_v<T>, std::underlying_type_t<T>, T> |
| template<class T > | |
| using | mlab::range_value_t = std::decay_t<decltype(*std::begin(std::declval<T>()))> |
Enumerations | |
| enum struct | mlab::stream_ref { mlab::beg , mlab::pos , mlab::end } |
Functions | |
| constexpr std::uint8_t | mlab_literals::operator""_b (unsigned long long int n) |
| template<class Iterator > | |
| constexpr range< Iterator > | mlab::make_range (Iterator begin, Iterator end) |
| template<class Container > | |
| constexpr auto | mlab::make_range (Container &c) |
| bin_data & | mlab::operator<< (bin_data &bd, prealloc const &pa) |
| template<is_signed_or_unsigned_v Num, unsigned BitSize, byte_order Order> | |
| bin_stream & | mlab::operator>> (ordered_extractor< BitSize, Order > e, Num &n) |
| template<is_signed_or_unsigned_v Num, unsigned BitSize, byte_order Order> | |
| bin_data & | mlab::operator<< (ordered_injector< BitSize, Order > i, Num n) |
| template<unsigned BitSize> | |
| ordered_extractor< BitSize, byte_order::lsb_first > | mlab::operator>> (bin_stream &s, lsb_t< BitSize >) |
| template<unsigned BitSize> | |
| ordered_extractor< BitSize, byte_order::msb_first > | mlab::operator>> (bin_stream &s, msb_t< BitSize >) |
| template<unsigned BitSize> | |
| ordered_injector< BitSize, byte_order::lsb_first > | mlab::operator<< (bin_data &bd, lsb_t< BitSize >) |
| template<unsigned BitSize> | |
| ordered_injector< BitSize, byte_order::msb_first > | mlab::operator<< (bin_data &bd, msb_t< BitSize >) |
| bin_data & | mlab::operator<< (bin_data &bd, explicit_bool b) |
| bin_stream & | mlab::operator>> (bin_stream &s, bool &b) |
| bin_stream & | mlab::operator>> (bin_stream &s, std::uint8_t &byte) |
| template<std::size_t Length> | |
| bin_stream & | mlab::operator>> (bin_stream &s, std::array< std::uint8_t, Length > &out) |
| template<is_byte_enum Enum> | |
| bin_stream & | mlab::operator>> (bin_stream &s, Enum &t) |
| template<is_byte_sequence T> | |
| bin_data & | mlab::operator<< (bin_data &bd, T const &t) |
| encode_length< bin_stream > | mlab::operator>> (bin_stream &s, length_encoded_t) |
| encode_length< bin_data > | mlab::operator<< (bin_data &bd, length_encoded_t) |
| template<container_of_injectables Container> | |
| bin_data & | mlab::operator<< (encode_length< bin_data > w, Container const &c) |
| template<container_of_extractables Container> | |
| bin_stream & | mlab::operator>> (encode_length< bin_stream > w, Container &c) |
Variables | |
| static constexpr bool | mlab::track_bin_data_mem = false |
| static constexpr lsb_t< 16 > | mlab::lsb16 {} |
| static constexpr lsb_t< 24 > | mlab::lsb24 {} |
| static constexpr lsb_t< 32 > | mlab::lsb32 {} |
| static constexpr lsb_t< 64 > | mlab::lsb64 {} |
| static constexpr msb_t< 16 > | mlab::msb16 {} |
| static constexpr msb_t< 24 > | mlab::msb24 {} |
| static constexpr msb_t< 32 > | mlab::msb32 {} |
| static constexpr msb_t< 64 > | mlab::msb64 {} |
| static constexpr lsb_t< 0 > | mlab::lsb_auto {} |
| static constexpr msb_t< 0 > | mlab::msb_auto {} |
| struct mlab::length_encoded_t | mlab::length_encoded |