13 template<
typename CharT>
requires ice::concepts::SupportedCharType<CharT>
31 :
_data{ ptr_array_nt }
41 :
_data{ ptr_array_begin }
45 template<ice::u64 Size>
51 constexpr BasicString(std::basic_string_view<CharType> string_view) noexcept
52 :
_data{ string_view.data() }
53 ,
_count{ string_view.size() }
77 .size =
size().bytes(),
89 reinterpret_cast<CharType const*
>(ro_data.location) + offset,
102 return ice::hash(std::string_view{ value });
117template<
typename CharType>
118struct fmt::formatter<
ice::BasicString<CharType>> :
public fmt::formatter<std::basic_string_view<CharType>>
120 template<
typename FormatContext>
123 return fmt::formatter<std::basic_string_view<CharType>>
::format(value, ctx);
Definition mem_types.hxx:40
Definition string_concepts.hxx:20
Definition string_concepts.hxx:12
Definition mem_buffer.hxx:20
constexpr auto min(arr_t< Size, T > left, arr_t< Size, U > right) noexcept -> arr_t< Size, T >
Definition array_operations.hxx:60
constexpr auto strptr_size(CharType const *str) noexcept -> ice::ncount::base_type
Definition string_concepts.hxx:72
SPDX-License-Identifier: MIT.
Definition array.hxx:12
ice::BasicString< char > String
Definition string.hxx:82
constexpr auto string_from_data(T ro_data, ice::nindex offset, ice::ncount size) noexcept -> ice::BasicString< CharType >
Definition string.hxx:86
std::uint64_t u64
Definition types.hxx:27
ice::BasicString< wchar_t > WString
Definition string.hxx:83
constexpr ice::ualign align_of
Definition mem_info.hxx:15
constexpr auto hash32(ice::String value) noexcept -> ice::u32
Definition string.hxx:105
constexpr auto count(T const (&)[Size]) noexcept -> ice::u32
Definition base.hxx:43
BaseStringID< ice::build::Constant_StringID_DebugInfoEnabled > StringID
\copy ice::BaseStringID.
Definition stringid.hxx:15
std::uint32_t u32
Definition types.hxx:26
constexpr auto stringid(ice::StaticString< Capacity, char > value) noexcept -> ice::StringID
Definition static_string.hxx:182
constexpr auto hash(ice::HeapString<> const &value) noexcept -> ice::u64
Definition heap_string.hxx:251
constexpr auto size() const noexcept -> SizeType
Definition string.hxx:57
constexpr BasicString(ValueType(&char_array)[Size]) noexcept
Definition string.hxx:46
constexpr BasicString(ValueType *ptr_array_begin, ValueType *ptr_array_end) noexcept
Definition string.hxx:40
constexpr BasicString(ValueType *ptr_array, ice::ncount count) noexcept
Definition string.hxx:35
SizeType::base_type _count
Definition string.hxx:26
ice::ncount SizeType
Definition string.hxx:22
constexpr BasicString(std::basic_string_view< CharType > string_view) noexcept
Definition string.hxx:51
constexpr auto data() const noexcept -> ValueType *
Definition string.hxx:56
std::reverse_iterator< ValueType * > ConstReverseIterator
Definition string.hxx:19
CharType const ValueType
Definition string.hxx:17
CharType CharType
Definition string.hxx:16
constexpr auto data_view() const noexcept -> ice::Data
Definition string.hxx:73
constexpr BasicString() noexcept=default
ConstIterator Iterator
Definition string.hxx:20
ValueType * ConstIterator
Definition string.hxx:18
ConstReverseIterator ReverseIterator
Definition string.hxx:21
ice::BasicString< CharType > StringType
Definition string.hxx:23
ValueType * _data
Definition string.hxx:25
Definition mem_data.hxx:17
ice::detail::nvalue_base_utype base_type
Definition nvalue.hxx:75
Definition readonly_operations.hxx:14