1 #ifndef INCLUDED_U5E_BASIC_ENCODEDSTRING 2 #define INCLUDED_U5E_BASIC_ENCODEDSTRING 5 #include <u5e/codepoint.hpp> 6 #include <u5e/codepoint_traits.hpp> 7 #include <u5e/basic_grapheme_iterator.hpp> 8 #include <u5e/utf32ne.hpp> 11 template <
typename T>
class basic_grapheme_iterator;
35 template <
typename Encoding,
36 typename NativeString>
65 typedef typename Encoding::
template iterator<NativeString>
75 typedef std::reverse_iterator<
iterator> reverse_iterator;
172 template <
typename StorageType>
179 (Encoding::
template native_const_iterator<StorageType>(first),
180 Encoding::
template native_const_iterator<StorageType>(last)
188 return append<NativeString>(first,last);
191 template <
typename StorageType>
197 (*last).codepoint_begin());
204 return append<NativeString>(first, last);
207 template <
typename StorageType>
213 Encoding::append_from_utf32ne
214 (
utf32ne::
template native_const_iterator<StorageType>(first),
215 utf32ne::
template native_const_iterator<StorageType>(last),
const_iterator codepoint_cbegin()
NativeString::const_iterator native_cbegin()
Encoding::template const_iterator< NativeString > const_iterator
NativeString native_string
Raw buffer as specified by the native type.
NativeString::pointer pointer
Native representation of a codepoint.
u5e::codepoint_traits::pos_type size_type
NativeString::const_pointer const_pointer
const value_type & const_reference
NativeString::iterator native_end()
basic_encodedstring & append(basic_grapheme_iterator< basic_encodedstring< Encoding, StorageType >> &first, basic_grapheme_iterator< basic_encodedstring< Encoding, StorageType >> &last)
basic_encodedstring & operator=(const basic_encodedstring &other)
u5e::codepoint_traits traits_type
basic_encodedstring(const NativeString &s)
const_iterator codepoint_cend()
NativeString::const_iterator native_cend()
Architecture-specific type to interface UTF32BE or UTF32LE.
basic_encodedstring()=default
basic_encodedstring & append(basic_grapheme_iterator< basic_encodedstring > &first, basic_grapheme_iterator< basic_encodedstring > &last)
basic_grapheme_iterator< basic_encodedstring > grapheme_end()
basic encoding support over string-like objects.
iterator codepoint_begin()
Encoding::template iterator< NativeString > iterator
basic_encodedstring & append_from_utf32ne(typename basic_encodedstring< utf32ne, StorageType >::const_iterator first, typename basic_encodedstring< utf32ne, StorageType >::const_iterator last)
std::reverse_iterator< const_iterator > const_reverse_iterator
basic_encodedstring & append(const_iterator first, const_iterator last)
basic_encodedstring & append(typename basic_encodedstring< Encoding, StorageType >::const_iterator first, typename basic_encodedstring< Encoding, StorageType >::const_iterator last)
NativeString::iterator native_begin()
u5e::codepoint value_type
basic_grapheme_iterator< basic_encodedstring > grapheme_begin()
Type information for codepoint.
u5e::codepoint_traits::off_type difference_type