14 template<
typename CharT =
char>
17 static_assert(
sizeof(CharT) == 1,
"Wider characters are not supported yet!");
57 return size.bytes() + bytes + 1_B;
67 while (*var_byte & 0x80)
85 template<
typename CharType>
103 var_byte[byte] = (
size & 0x7f) | 0x80;
107 var_byte[byte] =
size & 0x7f;
113 template<
typename CharT>
119 template<
typename CharT>
125 template<
typename CharT>
131 template<
typename CharT>
137 template<
typename CharT>
Definition heap_varstring.hxx:50
auto read_data(CharType *data) noexcept -> CharType *
Definition varstring.hxx:86
auto calc_required_size(ice::ncount size) noexcept -> ice::usize
Definition varstring.hxx:48
auto write_size(void *data, ice::ncount size) noexcept -> ice::ncount
Definition varstring.hxx:96
auto read_size(char const *data, ice::usize &out_bytes) noexcept -> ice::ncount
Definition varstring.hxx:60
SPDX-License-Identifier: MIT.
Definition array.hxx:12
struct _tagVarString VarStringTag
Definition varstring.hxx:12
std::uint8_t u8
Definition types.hxx:24
VarStringBase< char > VarString
Definition varstring.hxx:42
Definition varstring.hxx:16
std::reverse_iterator< ValueType * > ConstReverseIterator
Definition varstring.hxx:22
ValueType * _data
Definition varstring.hxx:29
ice::ncount SizeType
Definition varstring.hxx:25
ConstReverseIterator ReverseIterator
Definition varstring.hxx:24
ice::BasicString< CharType > StringType
Definition varstring.hxx:26
CharT CharType
Definition varstring.hxx:19
VarStringBase() noexcept
Definition varstring.hxx:114
CharType const ValueType
Definition varstring.hxx:20
VarStringTag TypeTag
Definition varstring.hxx:27
ValueType * ConstIterator
Definition varstring.hxx:21
constexpr auto size() const noexcept -> SizeType
constexpr auto data() const noexcept -> ValueType *
ConstIterator Iterator
Definition varstring.hxx:23
ice::detail::nvalue_base_utype base_type
Definition nvalue.hxx:75
Definition readonly_operations.hxx:14
Represents a unsigned size value on the given platform.
Definition mem_size_types.hxx:26
base_type value
Definition mem_size_types.hxx:35