31#ifndef ETL_BASIC_STRING_INCLUDED
32#define ETL_BASIC_STRING_INCLUDED
55#if ETL_USING_STL && ETL_USING_CPP17
56 #include <string_view>
70 template <
typename T,
typename TTraits>
71 class basic_string_view;
150 namespace private_basic_string
153 template <
typename T =
void>
158 typedef size_t size_type;
166 template <
typename T>
169 template <
typename T>
172 template <
typename T>
181 typedef size_t size_type;
246#if ETL_HAS_STRING_TRUNCATION_CHECKS
276#if ETL_HAS_STRING_CLEAR_AFTER_USE
305#if ETL_HAS_STRING_TRUNCATION_CHECKS
325#if ETL_HAS_STRING_TRUNCATION_CHECKS || ETL_HAS_STRING_CLEAR_AFTER_USE
335 template <
typename T>
346 typedef const T* const_pointer;
349 typedef ETL_OR_STD::reverse_iterator<iterator> reverse_iterator;
350 typedef ETL_OR_STD::reverse_iterator<const_iterator> const_reverse_iterator;
352 typedef typename etl::iterator_traits<iterator>::difference_type difference_type;
414 return reverse_iterator(
end());
423 return const_reverse_iterator(
end());
432 return reverse_iterator(
begin());
439 const_reverse_iterator
rend()
const
441 return const_reverse_iterator(
begin());
450 return const_reverse_iterator(
cend());
457 const_reverse_iterator
crend()
const
459 return const_reverse_iterator(
cbegin());
481#if ETL_HAS_STRING_TRUNCATION_CHECKS
484#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
506 template <
typename TOperation>
635 ETL_CONSTEXPR const_pointer
data()
const
700 template <
typename TIterator>
703 assign_impl(first, last,
false,
false);
713 assign_impl(text, text +
etl::strlen(text),
false,
false);
724 assign_impl(text, text +
length_,
false,
false);
730 template <
typename TOtherTraits>
733 assign_impl(
view.begin(),
view.end(),
false,
false);
746#if ETL_HAS_STRING_TRUNCATION_CHECKS
749#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
756 etl::fill_n(
begin(),
n, value);
783#if ETL_HAS_STRING_TRUNCATION_CHECKS
786#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
813#if ETL_HAS_STRING_TRUNCATION_CHECKS
818#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
879 template <
class TIterator>
890 template <
typename TOtherTraits>
910 if (position !=
end())
927 if (position !=
end())
934#if ETL_HAS_STRING_TRUNCATION_CHECKS
937#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
970#if ETL_HAS_STRING_TRUNCATION_CHECKS
973#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
985#if ETL_HAS_STRING_TRUNCATION_CHECKS
988#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1011#if ETL_HAS_STRING_TRUNCATION_CHECKS
1014#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1040 template <
typename TIterator>
1051 const size_type n = etl::distance(first, last);
1056#if ETL_HAS_STRING_TRUNCATION_CHECKS
1059#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1071#if ETL_HAS_STRING_TRUNCATION_CHECKS
1074#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1101#if ETL_HAS_STRING_TRUNCATION_CHECKS
1104#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1116 while (first != last)
1133 template <
typename TOtherTraits>
1148 insert(
begin() + position, str.cbegin(), str.cend());
1150#if ETL_HAS_STRING_TRUNCATION_CHECKS
1151 if (str.is_truncated())
1155#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1169 template <
typename TOtherTraits>
1198#if ETL_HAS_STRING_TRUNCATION_CHECKS
1199 if (str.is_truncated())
1203#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1219 template <
typename TOtherTraits>
1368 count = etl::min(count,
size() -
pos);
1375 etl::copy_n(p_buffer +
pos, count,
dest);
1392 return find_impl(str.begin(), str.end(), str.size(),
pos);
1400 template <
typename TOtherTraits>
1428 return find_impl(
s,
s +
n,
sz,
pos);
1442 return etl::distance(
begin(),
i);
1457 return rfind_impl(str.rbegin(), str.rend(), str.size(), position);
1465 template <
typename TOtherTraits>
1481 const_reverse_iterator
srend(
s);
1494 const_reverse_iterator
srend(
s);
1506 if (position >=
size())
1511 position =
size() - position;
1513 const_reverse_iterator
i = etl::find(
rbegin() + position,
rend(),
c);
1530 return find(str) != npos;
1536 template <
typename TOtherTraits>
1547 return find(
s) != npos;
1555 return find(
c) != npos;
1563 return compare(0, str.size(), str) == 0;
1569 template <
typename TOtherTraits>
1598 if (str.size() >
size())
1603 return compare(
size() - str.size(), str.size(), str) == 0;
1609 template <
typename TOtherTraits>
1671 template <
typename TOtherTraits>
1706#if ETL_HAS_STRING_TRUNCATION_CHECKS
1711#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1726 template <
typename TOtherTraits>
1760#if ETL_HAS_STRING_TRUNCATION_CHECKS
1765#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
1777 template <
typename TOtherTraits>
1910 template <
typename TIterator>
1934 str.p_buffer + str.
size());
1940 template <
typename TOtherTraits>
1959 return compare(p_buffer + position,
1960 p_buffer + position +
length_,
1962 str.p_buffer + str.
size());
1968 template <
typename TOtherTraits>
1971 return compare(p_buffer + position,
1972 p_buffer + position +
length_,
1989 return compare(p_buffer + position,
1990 p_buffer + position +
length_,
1998 template <
typename TOtherTraits>
2008 return compare(p_buffer + position,
2009 p_buffer + position +
length_,
2030 return compare(p_buffer + position,
2031 p_buffer + position +
length_,
2041 return compare(p_buffer + position,
2042 p_buffer + position +
length_,
2072 template <
typename TOtherTraits>
2086 if (position <
size())
2092 if (p_buffer[
i] ==
s[
j])
2110 if (position <
size())
2114 if (p_buffer[
i] ==
c)
2131 return find_last_of(str.c_str(), position, str.size());
2149 template <
typename TOtherTraits>
2168 position = etl::min(position,
size() - 1);
2170 const_reverse_iterator it =
rbegin() +
size() - position - 1;
2172 while (it !=
rend())
2176 if (p_buffer[position] ==
s[
j])
2201 position = etl::min(position,
size() - 1);
2203 const_reverse_iterator it =
rbegin() +
size() - position - 1;
2205 while (it !=
rend())
2207 if (p_buffer[position] ==
c)
2244 template <
typename TOtherTraits>
2258 if (position <
size())
2266 if (p_buffer[
i] ==
s[
j])
2289 if (position <
size())
2293 if (*(p_buffer +
i) !=
c)
2328 template <
typename TOtherTraits>
2347 position = etl::min(position,
size() - 1);
2349 const_reverse_iterator it =
rbegin() +
size() - position - 1;
2351 while (it !=
rend())
2357 if (p_buffer[position] ==
s[
j])
2385 position = etl::min(position,
size() - 1);
2387 const_reverse_iterator it =
rbegin() +
size() - position - 1;
2389 while (it !=
rend())
2391 if (p_buffer[position] != c)
2429 template <
typename TOtherTraits>
2450 template <
typename TOtherTraits>
2478#if ETL_HAS_ISTRING_REPAIR
2482 virtual void repair() = 0;
2490#if ETL_HAS_STRING_TRUNCATION_CHECKS
2503#if ETL_HAS_STRING_TRUNCATION_CHECKS
2530#if ETL_HAS_STRING_TRUNCATION_CHECKS
2557 else if (*first1 > *first2)
2568 if ((first1 == last1) && (first2 == last2))
2573 else if (first1 == last1)
2590#if ETL_HAS_STRING_CLEAR_AFTER_USE
2611#if defined(ETL_POLYMORPHIC_STRINGS) || defined(ETL_POLYMORPHIC_CONTAINERS) || defined(ETL_ISTRING_REPAIR_ENABLE)
2619#if ETL_HAS_STRING_CLEAR_AFTER_USE
2642 template <
typename TIterator>
2645#if ETL_IS_DEBUG_BUILD
2646 difference_type
d = etl::distance(first, last);
2659#if ETL_HAS_STRING_TRUNCATION_CHECKS
2662#if ETL_HAS_ERROR_ON_STRING_TRUNCATION
2663 ETL_ASSERT(flags.
test<IS_TRUNCATED>() ==
false, ETL_ERROR(string_truncation));
2667#if ETL_HAS_STRING_CLEAR_AFTER_USE
2680 template <
typename TIterator>
2681 size_type find_impl(TIterator first, TIterator last, size_type sz, size_type pos = 0)
const
2683 if ((pos + sz) >
size())
2688 const_iterator iposition = etl::search(
begin() + pos,
end(), first, last);
2690 if (iposition ==
end())
2696 return etl::distance(
begin(), iposition);
2703 template <
typename TIterator>
2704 size_type rfind_impl(TIterator rfirst, TIterator rlast, size_type sz, size_type pos = 0)
const
2718 const_reverse_iterator iposition = etl::search(
rbegin() + pos,
rend(), rfirst, rlast);
2720 if (iposition ==
rend())
2726 return size() - sz - etl::distance(
rbegin(), iposition);
2738 template <
typename T>
2741 return (
lhs.size() ==
rhs.size()) && etl::equal(
lhs.begin(),
lhs.end(),
rhs.begin());
2751 template <
typename T>
2764 template <
typename T>
2777 template <
typename T>
2790 template <
typename T>
2803 template <
typename T>
2816 template <
typename T>
2819 return etl::lexicographical_compare(
lhs.begin(),
lhs.end(),
rhs.begin(),
rhs.end());
2829 template <
typename T>
2842 template <
typename T>
2856 template <
typename T>
2869 template <
typename T>
2882 template <
typename T>
2896 template <
typename T>
2909 template <
typename T>
2922 template <
typename T>
2936 template <
typename T>
2949 template <
typename T>
2962 template <
typename T>
ETL_CONSTEXPR14 flags< T, MASK > & set() ETL_NOEXCEPT
Set the bits.
Definition flags.h:102
ETL_CONSTEXPR bool test() const ETL_NOEXCEPT
Tests bits.
Definition flags.h:87
Definition basic_string.h:337
int compare(size_type position, size_type length_, const ibasic_string &str) const
Compare position / length with string.
Definition basic_string.h:1952
ibasic_string & append(TIterator first, TIterator last)
Definition basic_string.h:880
size_type find_last_of(const_pointer s, size_type position=npos) const
Definition basic_string.h:2139
size_type rfind(const_pointer s, size_type position=npos) const
Definition basic_string.h:1476
ibasic_string & replace(const_iterator first, const_iterator last, const etl::basic_string_view< T, TOtherTraits > &view)
Definition basic_string.h:1727
etl::ibasic_string< T > & insert(size_type position, const etl::ibasic_string< T > &str)
Definition basic_string.h:1144
ibasic_string & append(const T *str)
Definition basic_string.h:846
size_type find_last_not_of(const_pointer s, size_type position=npos) const
Definition basic_string.h:2318
size_type find(const_pointer s, size_type pos=0) const
Definition basic_string.h:1411
ibasic_string & operator=(const ibasic_string &rhs)
Assignment operator.
Definition basic_string.h:2406
ibasic_string & append(const ibasic_string &str, size_type subposition, size_type sublength=npos)
Definition basic_string.h:833
const_reverse_iterator rbegin() const
Definition basic_string.h:421
bool contains(const etl::ibasic_string< T > &str) const
Checks that the string is within this string.
Definition basic_string.h:1528
reference operator[](size_type i)
Definition basic_string.h:547
void assign(const etl::ibasic_string< T > &other, size_type subposition, size_type sublength)
Definition basic_string.h:678
etl::ibasic_string< T > & insert(size_type position, const etl::basic_string_view< T, TOtherTraits > &view, size_type subposition, size_type sublength)
Definition basic_string.h:1220
pointer data_end()
Definition basic_string.h:644
iterator erase(const_iterator first, const_iterator last)
Definition basic_string.h:1328
iterator insert(const_iterator position, TIterator first, TIterator last)
Definition basic_string.h:1041
bool contains(value_type c) const
Checks that character is within this string.
Definition basic_string.h:1553
size_type find_last_of(const ibasic_string< T > &str, size_type position=npos) const
Definition basic_string.h:2129
size_type find_first_of(value_type c, size_type position=0) const
Definition basic_string.h:2108
bool starts_with(const etl::ibasic_string< T > &str) const
Checks that the string is the start of this string.
Definition basic_string.h:1561
size_type find(T c, size_type position=0) const
Definition basic_string.h:1436
ibasic_string & replace(size_type position, size_type length_, const etl::basic_string_view< T, TOtherTraits > &view, size_type subposition, size_type sublength)
Replace characters from 'position' of 'length' with 'view' from 'subposition' of 'sublength'.
Definition basic_string.h:1778
bool ends_with(value_type c) const
Checks that the character is the end of this string.
Definition basic_string.h:1638
void pop_back()
Definition basic_string.h:797
size_type rfind(const ibasic_string< T > &str, size_type position=npos) const
Definition basic_string.h:1455
bool contains(const_pointer s) const
Checks that text is within this string.
Definition basic_string.h:1545
etl::ibasic_string< T > & insert(size_type position, const etl::basic_string_view< T, TOtherTraits > &view)
Definition basic_string.h:1170
void resize_and_overwrite(size_type new_size, TOperation operation)
Resizes the string and overwrites to data using the operation.
Definition basic_string.h:507
void initialize_free_space()
Clears the free space to string terminator value.
Definition basic_string.h:2488
ibasic_string & replace(size_type position, size_type length_, const_pointer s, size_type n)
Replace characters from 'position' of 'length' with 'n' characters from pointed to string.
Definition basic_string.h:1836
iterator to_iterator(const_iterator itr) const
Convert from const_iterator to iterator.
Definition basic_string.h:2632
ibasic_string & replace(size_type position, size_type length_, size_type n, value_type c)
Replace characters from 'position' of 'length' with 'n' copies of 'c'.
Definition basic_string.h:1873
ibasic_string & replace(const_iterator first, const_iterator last, const ibasic_string &str)
Definition basic_string.h:1694
size_type find_first_of(const ibasic_string< T > &str, size_type position=0) const
Definition basic_string.h:2052
size_type find_first_of(const etl::basic_string_view< T, TOtherTraits > &view, size_type position=0) const
Definition basic_string.h:2073
const_reference back() const
Definition basic_string.h:617
const_iterator begin() const
Definition basic_string.h:367
size_type find_last_of(const_pointer s, size_type position, size_type n) const
Definition basic_string.h:2161
bool ends_with(const etl::basic_string_view< T, TOtherTraits > &view) const
Checks that the view is the end of this string.
Definition basic_string.h:1610
reverse_iterator rbegin()
Definition basic_string.h:412
ibasic_string & replace(const_iterator first, const_iterator last, TIterator first_replace, TIterator last_replace)
Replace characters from 'first' of 'last' with characters from 'first_replace' to 'last_replace'.
Definition basic_string.h:1911
void resize(size_type new_size)
Definition basic_string.h:467
size_type find_last_not_of(const_pointer s, size_type position, size_type n) const
Definition basic_string.h:2340
ibasic_string & replace(size_type position, size_type length_, const etl::basic_string_view< T, TOtherTraits > &view)
Definition basic_string.h:1672
size_type find_first_not_of(const_pointer s, size_type position=0) const
Definition basic_string.h:2234
size_type rfind(T c, size_type position=npos) const
Definition basic_string.h:1504
etl::ibasic_string< T > & erase(size_type position, size_type length_=npos)
Definition basic_string.h:1282
int compare(const value_type *s) const
Compare with C string.
Definition basic_string.h:2017
int compare(size_type position, size_type length_, const_pointer s) const
Compare position / length with C string.
Definition basic_string.h:2028
iterator insert(const_iterator position, size_type n, T value)
Definition basic_string.h:954
ibasic_string & append(const etl::basic_string_view< T, TOtherTraits > &view)
Definition basic_string.h:891
const_reference at(size_type i) const
Definition basic_string.h:580
void assign(const etl::basic_string_view< T, TOtherTraits > &view)
Assigns values to the string from a view.
Definition basic_string.h:731
void clear()
Clears the string.
Definition basic_string.h:764
int compare(size_type position, size_type length_, const ibasic_string &str, size_type subposition, size_type sublength) const
Compare position / length with string / subposition / sublength.
Definition basic_string.h:1980
reverse_iterator rend()
Definition basic_string.h:430
size_type find_last_of(const etl::basic_string_view< T, TOtherTraits > &view, size_type position=npos) const
Definition basic_string.h:2150
iterator erase(iterator i_element)
Definition basic_string.h:1297
const_reverse_iterator crend() const
Definition basic_string.h:457
bool contains(const etl::basic_string_view< T, TOtherTraits > &view) const
Checks that the view is within this string.
Definition basic_string.h:1537
reference at(size_type i)
Definition basic_string.h:568
size_type rfind(const etl::basic_string_view< T, TOtherTraits > &view, size_type pos=0) const
Definition basic_string.h:1466
bool starts_with(value_type c) const
Checks that the character is the start of this string.
Definition basic_string.h:1588
int compare(const etl::basic_string_view< T, TOtherTraits > &view) const
Compare with etl::basic_string_view.
Definition basic_string.h:1941
~ibasic_string()
Destructor.
Definition basic_string.h:2617
ibasic_string & replace(const_iterator first, const_iterator last, const_pointer s)
Replace characters from 'first' 'last' with pointed to string.
Definition basic_string.h:1818
size_type find(const_pointer s, size_type pos, size_type n) const
Definition basic_string.h:1424
size_type find_first_of(const_pointer s, size_type position=0) const
Definition basic_string.h:2062
ibasic_string & replace(size_type position, size_type length_, const ibasic_string &str, size_type subposition, size_type sublength)
Replace characters from 'position' of 'length' with 'str' from 'subposition' of 'sublength'.
Definition basic_string.h:1745
iterator begin()
Definition basic_string.h:358
iterator end()
Definition basic_string.h:376
ibasic_string & replace(const_iterator first, const_iterator last, size_type n, value_type c)
Replace characters from 'first' of 'last' with 'n' copies of 'c'.
Definition basic_string.h:1892
ibasic_string & replace(const_iterator first, const_iterator last, const_pointer s, size_type n)
Replace characters from 'first' to 'last' with 'n' characters from pointed to string.
Definition basic_string.h:1855
void assign(TIterator first, TIterator last)
Definition basic_string.h:701
etl::ibasic_string< T > & insert(size_type position, const etl::ibasic_string< T > &str, size_type subposition, size_type sublength)
Definition basic_string.h:1186
size_type find(const ibasic_string< T > &str, size_type pos=0) const
Definition basic_string.h:1390
void push_back(T value)
Definition basic_string.h:774
size_type find_first_not_of(const_pointer s, size_type position, size_type n) const
Definition basic_string.h:2256
void assign(size_type n, T value)
Definition basic_string.h:742
const_reverse_iterator crbegin() const
Definition basic_string.h:448
iterator insert(const_iterator position, T value)
Definition basic_string.h:902
etl::ibasic_string< T > & insert(size_type position, const_pointer s, size_type n)
Definition basic_string.h:1254
ibasic_string & replace(size_type position, size_type length_, const ibasic_string &str)
Definition basic_string.h:1649
ibasic_string(T *p_buffer_, size_type MAX_SIZE_)
Constructor.
Definition basic_string.h:2516
bool ends_with(const_pointer s) const
Checks that the string is the end of this string.
Definition basic_string.h:1623
etl::ibasic_string< T > & insert(size_type position, size_type n, value_type c)
Definition basic_string.h:1268
const_reverse_iterator rend() const
Definition basic_string.h:439
size_type find_last_not_of(const ibasic_string< T > &str, size_type position=npos) const
Definition basic_string.h:2308
size_type find(const etl::basic_string_view< T, TOtherTraits > &view, size_type pos=0) const
Definition basic_string.h:1401
const_pointer data_end() const
Definition basic_string.h:653
void assign(const etl::ibasic_string< T > &other)
Definition basic_string.h:663
const_iterator cend() const
Definition basic_string.h:403
const_pointer c_str() const
Return a pointer to a C string.
Definition basic_string.h:1351
void resize(size_type new_size, T value)
Definition basic_string.h:477
ETL_CONSTEXPR const_pointer data() const
Definition basic_string.h:635
const_reference front() const
Definition basic_string.h:599
pointer data()
Definition basic_string.h:626
size_type find_first_not_of(value_type c, size_type position=0) const
Definition basic_string.h:2287
ibasic_string & append(size_type n, T c)
Definition basic_string.h:868
void assign(const_pointer text, size_type length_)
Definition basic_string.h:722
size_type find_first_not_of(const ibasic_string< T > &str, size_type position=0) const
Definition basic_string.h:2224
size_type find_last_of(value_type c, size_type position=npos) const
Definition basic_string.h:2194
size_type copy(pointer dest, size_type count, size_type pos=0) const
Definition basic_string.h:1362
ibasic_string & append(const ibasic_string &str)
Definition basic_string.h:809
size_type find_last_not_of(const etl::basic_string_view< T, TOtherTraits > &view, size_type position=npos) const
Definition basic_string.h:2329
ibasic_string & replace(size_type position, size_type length_, const_pointer s)
Replace characters from 'position' of 'length' with pointed to string.
Definition basic_string.h:1799
reference front()
Definition basic_string.h:590
reference back()
Definition basic_string.h:608
bool starts_with(const_pointer s) const
Checks that the string is the start of this string.
Definition basic_string.h:1578
const_iterator cbegin() const
Definition basic_string.h:394
size_type find_first_not_of(const etl::basic_string_view< T, TOtherTraits > &view, size_type position=0) const
Definition basic_string.h:2245
int compare(size_type position, size_type length_, const etl::basic_string_view< T, TOtherTraits > &view, size_type subposition, size_type sublength) const
Compare position / length with etl::basic_string_view. / subposition / sublength.
Definition basic_string.h:1999
void initialise()
Initialise the string.
Definition basic_string.h:2525
bool starts_with(const etl::basic_string_view< T, TOtherTraits > &view) const
Checks that the view is the start of this string.
Definition basic_string.h:1570
ibasic_string & operator+=(const ibasic_string &rhs)
+= operator.
Definition basic_string.h:2440
void trim_to_terminator()
Definition basic_string.h:2501
void uninitialized_resize(size_type new_size)
Definition basic_string.h:524
ibasic_string & append(const T *str, size_type n)
Definition basic_string.h:857
int compare(size_type position, size_type length_, const_pointer s, size_type n) const
Compare position / length with C string / n.
Definition basic_string.h:2039
size_type rfind(const_pointer s, size_type position, size_type length_) const
Definition basic_string.h:1491
bool ends_with(const etl::ibasic_string< T > &str) const
Checks that the string is the end of this string.
Definition basic_string.h:1596
size_type find_first_of(const_pointer s, size_type position, size_type n) const
Definition basic_string.h:2084
int compare(const ibasic_string &str) const
Compare with string.
Definition basic_string.h:1929
const_iterator end() const
Definition basic_string.h:385
iterator erase(const_iterator i_element)
Definition basic_string.h:1310
int compare(size_type position, size_type length_, const etl::basic_string_view< T, TOtherTraits > &view) const
Compare position / length with etl::basic_string_view.
Definition basic_string.h:1969
void assign(const_pointer text)
Definition basic_string.h:711
etl::ibasic_string< T > & insert(size_type position, const_pointer s)
Definition basic_string.h:1240
void fill(T value)
Definition basic_string.h:537
void repair_buffer(T *p_buffer_)
Fix the internal pointers after a low level memory copy.
Definition basic_string.h:2538
iterator insert(const_iterator position, const etl::basic_string_view< T, TOtherTraits > &view)
Definition basic_string.h:1134
Definition basic_string.h:155
Definition basic_string.h:178
void set_secure()
Sets the 'secure' flag to the requested state.
Definition basic_string.h:280
bool is_secure() const
Gets the 'secure' state flag.
Definition basic_string.h:288
const size_type CAPACITY
The maximum number of elements in the string.
Definition basic_string.h:323
bool full() const
Definition basic_string.h:214
~string_base()
Destructor.
Definition basic_string.h:318
ETL_DEPRECATED bool truncated() const
Definition basic_string.h:253
void set_truncated(bool status)
Sets the 'truncated' flag.
Definition basic_string.h:309
size_type max_size() const
Definition basic_string.h:232
string_base(size_type max_size_)
Constructor.
Definition basic_string.h:299
void clear_truncated()
Clears the 'truncated' flag.
Definition basic_string.h:270
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 available() const
Definition basic_string.h:241
bool empty() const
Definition basic_string.h:205
size_type capacity() const
Definition basic_string.h:223
bool is_truncated() const
Definition basic_string.h:262
size_type size() const
Definition basic_string.h:187
Definition basic_string.h:95
Definition basic_string.h:81
Definition basic_string.h:123
Definition basic_string.h:109
Definition basic_string.h:137
#define ETL_ASSERT(b, e)
Definition error_handler.h:356
Definition exception.h:47
Definition integral_limits.h:516
bitset_ext
Definition absolute.h:38
bool operator>(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:693
bool operator>=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:705
bool operator!=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:654
ETL_CONSTEXPR14 size_t strlen(const T *t)
Alternative strlen for all character types.
Definition char_traits.h:285
bool operator==(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:642
bool operator<(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:666
bool operator<=(const etl::array< T, SIZE > &lhs, const etl::array< T, SIZE > &rhs)
Definition array.h:681
pair holds two objects of arbitrary type
Definition utility.h:164