Implémentation de la classe String. Plus de détails...
Graphe de collaboration de Arcane::StringImpl: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 |
| CoreArray< UChar > | m_utf16_array |
| 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 44 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 90 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| Arcane::StringImpl::StringImpl | ( | std::string_view | str | ) |
Définition à la ligne 104 du fichier StringImpl.cc.
| Arcane::StringImpl::StringImpl | ( | const StringImpl & | str | ) |
Définition à la ligne 128 du fichier StringImpl.cc.
Définition à la ligne 140 du fichier StringImpl.cc.
|
private |
Définition à la ligne 151 du fichier StringImpl.cc.
Définition à la ligne 116 du fichier StringImpl.cc.
Définition à la ligne 359 du fichier StringImpl.cc.
|
inlineprivate |
Définition à la ligne 67 du fichier StringImpl.cc.
|
private |
Définition à la ligne 441 du fichier StringImpl.cc.
|
private |
Définition à la ligne 460 du fichier StringImpl.cc.
|
inlineprivate |
Définition à la ligne 80 du fichier StringImpl.cc.
Définition à la ligne 94 du fichier StringImpl.cc.
|
private |
Définition à la ligne 492 du fichier StringImpl.cc.
|
private |
Définition à la ligne 502 du fichier StringImpl.cc.
Définition à la ligne 512 du fichier StringImpl.cc.
Définition à la ligne 526 du fichier StringImpl.cc.
Définition à la ligne 479 du fichier StringImpl.cc.
| void Arcane::StringImpl::addReference | ( | ) |
Définition à la ligne 200 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::append | ( | StringImpl * | str | ) |
Définition à la ligne 329 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::append | ( | StringView | str | ) |
Définition à la ligne 342 du fichier StringImpl.cc.
idem largeUtf8() mais SANS le zéro terminal
Définition à la ligne 161 du fichier StringImpl.cc.
Références Arcane::SpanImpl< T, SizeType, Extent, MinValue >::data(), largeUtf8(), et Arcane::SpanImpl< T, SizeType, Extent, MinValue >::size().
Voici le graphe d'appel pour cette fonction :| StringImpl * Arcane::StringImpl::clone | ( | ) |
Définition à la ligne 298 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::collapseWhiteSpace | ( | ) |
Définition à la ligne 393 du fichier StringImpl.cc.
| bool Arcane::StringImpl::empty | ( | ) |
Définition à la ligne 310 du fichier StringImpl.cc.
|
inline |
Définition à la ligne 88 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
inline |
Définition à la ligne 87 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| void Arcane::StringImpl::internalDump | ( | std::ostream & | ostr | ) |
Définition à la ligne 539 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isEqual | ( | StringImpl * | str | ) |
Définition à la ligne 246 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isEqual | ( | StringView | str | ) |
Définition à la ligne 276 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isLessThan | ( | StringImpl * | str | ) |
Définition à la ligne 259 du fichier StringImpl.cc.
| bool Arcane::StringImpl::isLessThan | ( | StringView | str | ) |
Définition à la ligne 287 du fichier StringImpl.cc.
Vue sur l'encodage UTF-8 AVEC zéro terminal.
Définition à la ligne 235 du fichier StringImpl.cc.
Référencé par bytes().
Voici le graphe des appelants de cette fonction :
|
inline |
Définition à la ligne 71 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
inline |
Définition à la ligne 85 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
| void Arcane::StringImpl::removeReference | ( | ) |
Définition à la ligne 210 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::replaceWhiteSpace | ( | ) |
Définition à la ligne 381 du fichier StringImpl.cc.
|
static |
Définition à la ligne 429 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::toLower | ( | ) |
Définition à la ligne 417 du fichier StringImpl.cc.
| std::string_view Arcane::StringImpl::toStdStringView | ( | ) |
Définition à la ligne 181 du fichier StringImpl.cc.
| StringImpl * Arcane::StringImpl::toUpper | ( | ) |
Définition à la ligne 405 du fichier StringImpl.cc.
| ConstArrayView< UChar > Arcane::StringImpl::utf16 | ( | ) |
Définition à la ligne 224 du fichier StringImpl.cc.
| StringView Arcane::StringImpl::view | ( | ) |
Définition à la ligne 191 du fichier StringImpl.cc.
|
friend |
Définition à la ligne 46 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
friend |
Définition à la ligne 47 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 96 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
|
private |
Définition à la ligne 95 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
Définition à la ligne 97 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.
Définition à la ligne 98 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.