Implémentation de la classe String. Plus de détails...
Fonctions membres publiques | |
| StringImpl (std::string_view str) | |
| StringImpl (const StringImpl &str) | |
| StringImpl (Span< const Byte > bytes) | |
| UCharConstArrayView | utf16 () |
| Span< const Byte > | largeUtf8 () |
| Vue sur l'encodage UTF-8 AVEC zéro terminal. | |
| Span< const Byte > | bytes () |
| idem largeUtf8() mais SANS le zéro terminal | |
| bool | isEqual (StringImpl *str) |
| bool | isLessThan (StringImpl *str) |
| bool | isEqual (StringView str) |
| bool | isLessThan (StringView str) |
| std::string_view | toStdStringView () |
| StringView | view () |
| void | addReference () |
| void | removeReference () |
| Int32 | nbReference () |
| void | internalDump (std::ostream &ostr) |
| StringImpl * | clone () |
| StringImpl * | append (StringImpl *str) |
| StringImpl * | append (StringView str) |
| StringImpl * | replaceWhiteSpace () |
| StringImpl * | collapseWhiteSpace () |
| StringImpl * | toUpper () |
| StringImpl * | toLower () |
| bool | null () |
| bool | empty () |
| bool | hasUtf8 () const |
| bool | hasUtf16 () const |
Fonctions membres publiques statiques | |
| static StringImpl * | substring (StringImpl *str, Int64 pos, Int64 len) |
Types privés | |
| enum | { eValidUtf16 = 1 << 0 , eValidUtf8 = 1 << 1 } |
Fonctions membres privées | |
| StringImpl (Span< const UChar > uchars) | |
| void | _setUtf16 (Span< const UChar > src) |
| void | _createUtf16 () |
| void | _setUtf8 (const Byte *src) |
| void | _createUtf8 () |
| void | _checkReference () |
| void | _invalidateUtf16 () |
| void | _invalidateUtf8 () |
| void | _setArray () |
| void | _setStrFromArray (Int64 ulen) |
| void | _printStrUtf16 (std::ostream &o, Span< const UChar > str) |
| void | _printStrUtf8 (std::ostream &o, Span< const Byte > str) |
| void | _appendUtf8 (Span< const Byte > ref_str) |
| void | _initFromSpan (Span< const Byte > bytes) |
| void | _finalizeUtf8Creation () |
Attributs privés | |
| std::atomic< Int32 > | m_nb_ref |
| int | m_flags |
| Impl::CoreArray< UChar > | m_utf16_array |
| Impl::CoreArray< Byte > | m_utf8_array |
Amis | |
| class | String |
| class | StringBuilder |
Implémentation de la classe String.
Actuellement l'implémentation supporte deux encodages simultanés: UTF-8 et UTF-16. L'encodage UTF-16 est obsolète et sera supprimé fin 2019.
Lorsque le C++20 sera disponible, cette classe ne sera qu'une encapsulation de std::u8string.
Définition à la ligne 45 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 106 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| Arcane::StringImpl::StringImpl | ( | std::string_view | str | ) |
Définition à la ligne 110 du fichier StringImpl.cc.
| Arcane::StringImpl::StringImpl | ( | const StringImpl & | str | ) |
Définition à la ligne 134 du fichier StringImpl.cc.
Définition à la ligne 146 du fichier StringImpl.cc.
|
private |
Définition à la ligne 157 du fichier StringImpl.cc.
Définition à la ligne 122 du fichier StringImpl.cc.
Définition à la ligne 366 du fichier StringImpl.cc.
|
inlineprivate |
Définition à la ligne 73 du fichier StringImpl.cc.
|
private |
Définition à la ligne 448 du fichier StringImpl.cc.
|
private |
Définition à la ligne 467 du fichier StringImpl.cc.
|
inlineprivate |
Définition à la ligne 86 du fichier StringImpl.cc.
Définition à la ligne 100 du fichier StringImpl.cc.
|
private |
Définition à la ligne 499 du fichier StringImpl.cc.
|
private |
Définition à la ligne 509 du fichier StringImpl.cc.
Définition à la ligne 519 du fichier StringImpl.cc.
Définition à la ligne 533 du fichier StringImpl.cc.
Définition à la ligne 486 du fichier StringImpl.cc.
| void Arcane::StringImpl::addReference | ( | ) |
Définition à la ligne 206 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::append | ( | StringImpl * | str | ) |
Définition à la ligne 335 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::append | ( | StringView | str | ) |
Définition à la ligne 348 du fichier StringImpl.cc.
idem largeUtf8() mais SANS le zéro terminal
Définition à la ligne 167 du fichier StringImpl.cc.
Références Arcane::SpanImpl< T, SizeType, Extent >::data(), largeUtf8(), et Arcane::SpanImpl< T, SizeType, Extent >::size().
| StringImpl * Arcane::StringImpl::clone | ( | ) |
Définition à la ligne 304 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::collapseWhiteSpace | ( | ) |
Définition à la ligne 400 du fichier StringImpl.cc.
| bool Arcane::StringImpl::empty | ( | ) |
Définition à la ligne 316 du fichier StringImpl.cc.
|
inline |
Définition à la ligne 102 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
inline |
Définition à la ligne 101 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| void Arcane::StringImpl::internalDump | ( | std::ostream & | ostr | ) |
Définition à la ligne 546 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isEqual | ( | StringImpl * | str | ) |
Définition à la ligne 252 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isEqual | ( | StringView | str | ) |
Définition à la ligne 282 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isLessThan | ( | StringImpl * | str | ) |
Définition à la ligne 265 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isLessThan | ( | StringView | str | ) |
Définition à la ligne 293 du fichier StringImpl.cc.
Vue sur l'encodage UTF-8 AVEC zéro terminal.
Définition à la ligne 241 du fichier StringImpl.cc.
Référencé par bytes().
|
inline |
Définition à la ligne 80 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
inline |
Définition à la ligne 99 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| void Arcane::StringImpl::removeReference | ( | ) |
Définition à la ligne 216 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::replaceWhiteSpace | ( | ) |
Définition à la ligne 388 du fichier StringImpl.cc.
Définition à la ligne 436 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::toLower | ( | ) |
Définition à la ligne 424 du fichier StringImpl.cc.
| std::string_view Arcane::StringImpl::toStdStringView | ( | ) |
Définition à la ligne 187 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::toUpper | ( | ) |
Définition à la ligne 412 du fichier StringImpl.cc.
| ConstArrayView< UChar > Arcane::StringImpl::utf16 | ( | ) |
Définition à la ligne 230 du fichier StringImpl.cc.
| StringView Arcane::StringImpl::view | ( | ) |
Définition à la ligne 197 du fichier StringImpl.cc.
|
friend |
Définition à la ligne 47 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
friend |
Définition à la ligne 48 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 112 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 111 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 113 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 114 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.