31#ifndef ETL_U16STRING_INCLUDED
32#define ETL_U16STRING_INCLUDED
45 inline namespace literals
57 typedef ibasic_string<char16_t> iu16string;
64 template <
size_t MAX_SIZE_>
72 typedef iu16string::value_type value_type;
123 ETL_EXPLICIT_STRING_FROM_CHAR
u16string(
const value_type* text)
137 this->
assign(text, text + count);
158 template <
typename TIterator>
162 this->
assign(first, last);
165#if ETL_HAS_INITIALIZER_LIST
195 if (position !=
size())
243#if ETL_HAS_ISTRING_REPAIR
244 virtual void repair() ETL_OVERRIDE
254 value_type buffer[MAX_SIZE + 1];
268 typedef iu16string::value_type value_type;
339 this->
assign(text, text + count);
360 template <
typename TIterator>
364 this->
assign(first, last);
367#if ETL_HAS_INITIALIZER_LIST
371 u16string_ext(std::initializer_list<value_type>
init, value_type* buffer, size_type buffer_size)
437#if ETL_HAS_ISTRING_REPAIR
438 virtual void repair() ETL_OVERRIDE
456#if ETL_USING_8BIT_TYPES
458 struct hash<
etl::iu16string>
462 return etl::private_hash::generic_hash<size_t>(
reinterpret_cast<const uint8_t*
>(text.
data()),
463 reinterpret_cast<const uint8_t*
>(text.
data() + text.
size()));
467 template <
size_t SIZE>
468 struct hash<
etl::u16string<SIZE> >
472 return etl::private_hash::generic_hash<size_t>(
reinterpret_cast<const uint8_t*
>(text.data()),
473 reinterpret_cast<const uint8_t*
>(text.data() + text.size()));
478 struct hash<
etl::u16string_ext >
482 return etl::private_hash::generic_hash<size_t>(
reinterpret_cast<const uint8_t*
>(text.
data()),
483 reinterpret_cast<const uint8_t*
>(text.
data() + text.
size()));
491 template<
size_t Array_Size>
500 template<
size_t MAX_SIZE,
size_t SIZE>
String view.
Definition string_view.h:100
ETL_CONSTEXPR const_iterator begin() const
Returns a const iterator to the beginning of the array.
Definition string_view.h:197
Definition basic_string.h:337
void resize(size_type new_size)
Definition basic_string.h:467
void assign(const etl::ibasic_string< T > &other)
Definition basic_string.h:663
pointer data()
Definition basic_string.h:626
void initialise()
Initialise the string.
Definition basic_string.h:2525
void repair_buffer(T *p_buffer_)
Fix the internal pointers after a low level memory copy.
Definition basic_string.h:2538
size_type length() const
Definition basic_string.h:196
size_type current_size
The current number of elements in the string.
Definition basic_string.h:322
size_type size() const
Definition basic_string.h:187
Definition basic_string.h:109
Definition u16string.h:262
u16string_ext & operator=(const u16string_ext &rhs)
Assignment operator.
Definition u16string.h:391
u16string_ext(size_type count, value_type c, value_type *buffer, size_type buffer_size)
Definition u16string.h:347
u16string_ext(value_type *buffer, size_type buffer_size)
Constructor.
Definition u16string.h:273
u16string_ext(TIterator first, TIterator last, value_type *buffer, size_type buffer_size, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
Definition u16string.h:361
u16string_ext(const etl::u16string_view &view, value_type *buffer, size_type buffer_size)
Definition u16string.h:382
u16string_ext(const value_type *text, size_type count, value_type *buffer, size_type buffer_size)
Definition u16string.h:336
u16string_ext(const etl::iu16string &other, value_type *buffer, size_type buffer_size, size_type position, size_type length=npos)
Definition u16string.h:305
u16string_ext(const etl::iu16string &other, value_type *buffer, size_type buffer_size)
Definition u16string.h:293
void repair()
Fix the internal pointers after a low level memory copy.
Definition u16string.h:440
u16string_ext(const value_type *text, value_type *buffer, size_type buffer_size)
Definition u16string.h:317
u16string_ext(const etl::u16string_ext &other, value_type *buffer, size_type buffer_size)
Definition u16string.h:283
Definition u16string.h:66
u16string(const etl::iu16string &other)
Definition u16string.h:99
u16string(const etl::iu16string &other, size_type position, size_type length=npos)
Definition u16string.h:111
etl::u16string< MAX_SIZE_ > substr(size_type position=0, size_type length_=npos) const
Definition u16string.h:191
u16string(size_type count, value_type c)
Definition u16string.h:145
u16string(TIterator first, TIterator last, typename etl::enable_if<!etl::is_integral< TIterator >::value, int >::type=0)
Definition u16string.h:159
ETL_EXPLICIT_STRING_FROM_CHAR u16string(const value_type *text)
Definition u16string.h:123
u16string & operator=(const u16string &rhs)
Assignment operator.
Definition u16string.h:210
u16string(const etl::u16string_view &view)
Definition u16string.h:180
u16string(const etl::u16string< MAX_SIZE_ > &other)
Definition u16string.h:89
u16string()
Constructor.
Definition u16string.h:79
u16string(const value_type *text, size_type count)
Definition u16string.h:134
void repair()
Fix the internal pointers after a low level memory copy.
Definition u16string.h:246
#define ETL_ASSERT(b, e)
Definition error_handler.h:356
enable_if
Definition type_traits_generator.h:1186
is_integral
Definition type_traits_generator.h:996
bitset_ext
Definition absolute.h:38
etl::string< Array_Size - 1U > make_string(const char(&text)[Array_Size])
Hash function.
Definition string.h:513
etl::string< MAX_SIZE > make_string_with_capacity(const char(&text)[SIZE])
Make string with max capacity from string literal or array.
Definition string.h:522
ETL_CONSTEXPR14 size_t strlen(const T *t)
Alternative strlen for all character types.
Definition char_traits.h:285
Character traits for any character type.
Definition char_traits.h:120
pair holds two objects of arbitrary type
Definition utility.h:164
ETL_CONSTEXPR pair()
Default constructor.
Definition utility.h:176