6template<di::concepts::OneOf<char,
unsigned char, wchar_t,
char const,
unsigned char const,
wchar_t const,
c8,
c8 const,
18 constexpr explicit Iterator(T*
base) : Base(
base) {}
20 constexpr auto operator*()
const -> T& {
return *this->
base(); }
29 constexpr auto data() const -> T* {
return m_data; }
31 constexpr auto begin() const -> Iterator {
return Iterator(m_data); }
35 T* m_data {
nullptr };
Definition iterator_extension.h:19
constexpr auto base() const &-> Iter const &
Definition iterator_extension.h:30
constexpr ZStringImpl(T *data)
Definition zstring.h:27
constexpr auto begin() const -> Iterator
Definition zstring.h:31
constexpr auto end() const
Definition zstring.h:32
constexpr auto data() const -> T *
Definition zstring.h:29
ZStringImpl< c32 > ZC32String
Definition zstring.h:49
ZStringImpl< char > ZString
Definition zstring.h:41
ZStringImpl< c8 const > ZC8CString
Definition zstring.h:44
ZStringImpl< unsigned char const > ZCUString
Definition zstring.h:39
ZStringImpl< unsigned char > ZUString
Definition zstring.h:42
constexpr auto operator==(MoveIterator< Iter > const &a, MoveIterator< U > const &b) -> bool
Definition move_iterator.h:85
ZStringImpl< char const > ZCString
Definition zstring.h:38
ZStringImpl< c16 const > ZC16CString
Definition zstring.h:46
ZStringImpl< c16 > ZC16String
Definition zstring.h:47
ZStringImpl< wchar_t > ZWString
Definition zstring.h:43
ZStringImpl< c8 > ZC8String
Definition zstring.h:45
ZStringImpl< c32 const > ZC32CString
Definition zstring.h:48
ZStringImpl< wchar_t const > ZCWString
Definition zstring.h:40
char8_t c8
Definition char.h:4
char16_t c16
Definition char.h:5
char32_t c32
Definition char.h:6
Definition zstring_parser.h:9
constexpr auto default_sentinel
Definition default_sentinel.h:6
Definition default_sentinel.h:4