Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::StringImpl

Implémentation de la classe String. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/base/arccore/base/internal/StringImpl.h>

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 BytelargeUtf8 ()
 Vue sur l'encodage UTF-8 AVEC zéro terminal.
Span< const Bytebytes ()
 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< Int32m_nb_ref
int m_flags
Impl::CoreArray< UCharm_utf16_array
Impl::CoreArray< Bytem_utf8_array

Amis

class String
class StringBuilder

Description détaillée

Implémentation de la classe String.

Avertissement
Cette classe est interne à Arcane et ne doit pas êre utilisée en dehors de Arcane.

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.

Documentation des énumérations membres

◆ anonymous enum

anonymous enum
private

Définition à la ligne 90 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

Documentation des constructeurs et destructeur

◆ StringImpl() [1/5]

Arcane::StringImpl::StringImpl ( std::string_view str)

Définition à la ligne 104 du fichier StringImpl.cc.

◆ StringImpl() [2/5]

Arcane::StringImpl::StringImpl ( const StringImpl & str)

Définition à la ligne 128 du fichier StringImpl.cc.

◆ StringImpl() [3/5]

Arcane::StringImpl::StringImpl ( Span< const Byte > bytes)

Définition à la ligne 140 du fichier StringImpl.cc.

◆ StringImpl() [4/5]

Arcane::StringImpl::StringImpl ( )
private

Définition à la ligne 151 du fichier StringImpl.cc.

◆ StringImpl() [5/5]

Arcane::StringImpl::StringImpl ( Span< const UChar > uchars)
private

Définition à la ligne 116 du fichier StringImpl.cc.

Documentation des fonctions membres

◆ _appendUtf8()

void Arcane::StringImpl::_appendUtf8 ( Span< const Byte > ref_str)
private

Définition à la ligne 359 du fichier StringImpl.cc.

◆ _checkReference()

void Arcane::StringImpl::_checkReference ( )
inlineprivate

Définition à la ligne 67 du fichier StringImpl.cc.

◆ _createUtf16()

void Arcane::StringImpl::_createUtf16 ( )
private

Définition à la ligne 441 du fichier StringImpl.cc.

◆ _createUtf8()

void Arcane::StringImpl::_createUtf8 ( )
private

Définition à la ligne 460 du fichier StringImpl.cc.

◆ _finalizeUtf8Creation()

void Arcane::StringImpl::_finalizeUtf8Creation ( )
inlineprivate

Définition à la ligne 80 du fichier StringImpl.cc.

◆ _initFromSpan()

void Arcane::StringImpl::_initFromSpan ( Span< const Byte > bytes)
inlineprivate

Définition à la ligne 94 du fichier StringImpl.cc.

◆ _invalidateUtf16()

void Arcane::StringImpl::_invalidateUtf16 ( )
private

Définition à la ligne 492 du fichier StringImpl.cc.

◆ _invalidateUtf8()

void Arcane::StringImpl::_invalidateUtf8 ( )
private

Définition à la ligne 502 du fichier StringImpl.cc.

◆ _printStrUtf16()

void Arcane::StringImpl::_printStrUtf16 ( std::ostream & o,
Span< const UChar > str )
private

Définition à la ligne 512 du fichier StringImpl.cc.

◆ _printStrUtf8()

void Arcane::StringImpl::_printStrUtf8 ( std::ostream & o,
Span< const Byte > str )
private

Définition à la ligne 526 du fichier StringImpl.cc.

◆ _setUtf16()

void Arcane::StringImpl::_setUtf16 ( Span< const UChar > src)
private

Définition à la ligne 479 du fichier StringImpl.cc.

◆ addReference()

void Arcane::StringImpl::addReference ( )

Définition à la ligne 200 du fichier StringImpl.cc.

◆ append() [1/2]

StringImpl * Arcane::StringImpl::append ( StringImpl * str)

Définition à la ligne 329 du fichier StringImpl.cc.

◆ append() [2/2]

StringImpl * Arcane::StringImpl::append ( StringView str)

Définition à la ligne 342 du fichier StringImpl.cc.

◆ bytes()

Span< const Byte > Arcane::StringImpl::bytes ( )

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 >::data(), largeUtf8(), et Arcane::SpanImpl< T, SizeType, Extent >::size().

Voici le graphe d'appel pour cette fonction :

◆ clone()

StringImpl * Arcane::StringImpl::clone ( )

Définition à la ligne 298 du fichier StringImpl.cc.

◆ collapseWhiteSpace()

StringImpl * Arcane::StringImpl::collapseWhiteSpace ( )

Définition à la ligne 393 du fichier StringImpl.cc.

◆ empty()

bool Arcane::StringImpl::empty ( )

Définition à la ligne 310 du fichier StringImpl.cc.

◆ hasUtf16()

bool Arcane::StringImpl::hasUtf16 ( ) const
inline

Définition à la ligne 88 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ hasUtf8()

bool Arcane::StringImpl::hasUtf8 ( ) const
inline

Définition à la ligne 87 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ internalDump()

void Arcane::StringImpl::internalDump ( std::ostream & ostr)

Définition à la ligne 539 du fichier StringImpl.cc.

◆ isEqual() [1/2]

bool Arcane::StringImpl::isEqual ( StringImpl * str)

Définition à la ligne 246 du fichier StringImpl.cc.

◆ isEqual() [2/2]

bool Arcane::StringImpl::isEqual ( StringView str)

Définition à la ligne 276 du fichier StringImpl.cc.

◆ isLessThan() [1/2]

bool Arcane::StringImpl::isLessThan ( StringImpl * str)

Définition à la ligne 259 du fichier StringImpl.cc.

◆ isLessThan() [2/2]

bool Arcane::StringImpl::isLessThan ( StringView str)

Définition à la ligne 287 du fichier StringImpl.cc.

◆ largeUtf8()

Span< const Byte > Arcane::StringImpl::largeUtf8 ( )

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 :

◆ nbReference()

Int32 Arcane::StringImpl::nbReference ( )
inline

Définition à la ligne 71 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ null()

bool Arcane::StringImpl::null ( )
inline

Définition à la ligne 85 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ removeReference()

void Arcane::StringImpl::removeReference ( )

Définition à la ligne 210 du fichier StringImpl.cc.

◆ replaceWhiteSpace()

StringImpl * Arcane::StringImpl::replaceWhiteSpace ( )

Définition à la ligne 381 du fichier StringImpl.cc.

◆ substring()

StringImpl * Arcane::StringImpl::substring ( StringImpl * str,
Int64 pos,
Int64 len )
static

Définition à la ligne 429 du fichier StringImpl.cc.

◆ toLower()

StringImpl * Arcane::StringImpl::toLower ( )

Définition à la ligne 417 du fichier StringImpl.cc.

◆ toStdStringView()

std::string_view Arcane::StringImpl::toStdStringView ( )

Définition à la ligne 181 du fichier StringImpl.cc.

◆ toUpper()

StringImpl * Arcane::StringImpl::toUpper ( )

Définition à la ligne 405 du fichier StringImpl.cc.

◆ utf16()

ConstArrayView< UChar > Arcane::StringImpl::utf16 ( )

Définition à la ligne 224 du fichier StringImpl.cc.

◆ view()

StringView Arcane::StringImpl::view ( )

Définition à la ligne 191 du fichier StringImpl.cc.

◆ String

friend class String
friend

Définition à la ligne 46 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ StringBuilder

friend class StringBuilder
friend

Définition à la ligne 47 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

Documentation des données membres

◆ m_flags

int Arcane::StringImpl::m_flags
private

Définition à la ligne 96 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ m_nb_ref

std::atomic<Int32> Arcane::StringImpl::m_nb_ref
private

Définition à la ligne 95 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ m_utf16_array

Impl::CoreArray<UChar> Arcane::StringImpl::m_utf16_array
private

Définition à la ligne 97 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

◆ m_utf8_array

Impl::CoreArray<Byte> Arcane::StringImpl::m_utf8_array
private

Définition à la ligne 98 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.


La documentation de cette classe a été générée à partir des fichiers suivants :