Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::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 Arccore::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)
 
StringImplclone ()
 
StringImplappend (StringImpl *str)
 
StringImplappend (StringView str)
 
StringImplreplaceWhiteSpace ()
 
StringImplcollapseWhiteSpace ()
 
StringImpltoUpper ()
 
StringImpltoLower ()
 
bool null ()
 
bool empty ()
 
bool hasUtf8 () const
 
bool hasUtf16 () const
 

Fonctions membres publiques statiques

static StringImplsubstring (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
 
CoreArray< UCharm_utf16_array
 
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 46 du fichier arccore/src/base/arccore/base/internal/StringImpl.h.

Documentation des énumérations membres

◆ anonymous enum

anonymous enum
private

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

Documentation des constructeurs et destructeur

◆ StringImpl() [1/5]

Arccore::StringImpl::StringImpl ( std::string_view  str)

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

◆ StringImpl() [2/5]

Arccore::StringImpl::StringImpl ( const StringImpl str)

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

◆ StringImpl() [3/5]

Arccore::StringImpl::StringImpl ( Span< const Byte bytes)

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

◆ StringImpl() [4/5]

Arccore::StringImpl::StringImpl ( )
private

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

◆ StringImpl() [5/5]

Arccore::StringImpl::StringImpl ( Span< const UChar uchars)
private

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

Documentation des fonctions membres

◆ _appendUtf8()

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

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

◆ _checkReference()

void Arccore::StringImpl::_checkReference ( )
inlineprivate

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

◆ _createUtf16()

void Arccore::StringImpl::_createUtf16 ( )
private

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

◆ _createUtf8()

void Arccore::StringImpl::_createUtf8 ( )
private

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

◆ _finalizeUtf8Creation()

void Arccore::StringImpl::_finalizeUtf8Creation ( )
inlineprivate

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

◆ _initFromSpan()

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

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

◆ _invalidateUtf16()

void Arccore::StringImpl::_invalidateUtf16 ( )
private

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

◆ _invalidateUtf8()

void Arccore::StringImpl::_invalidateUtf8 ( )
private

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

◆ _printStrUtf16()

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

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

◆ _printStrUtf8()

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

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

◆ _setUtf16()

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

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

◆ addReference()

void Arccore::StringImpl::addReference ( )

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

◆ append() [1/2]

StringImpl * Arccore::StringImpl::append ( StringImpl str)

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

◆ append() [2/2]

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

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

◆ bytes()

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

◆ clone()

StringImpl * Arccore::StringImpl::clone ( )

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

◆ collapseWhiteSpace()

StringImpl * Arccore::StringImpl::collapseWhiteSpace ( )

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

◆ empty()

bool Arccore::StringImpl::empty ( )

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

◆ hasUtf16()

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

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

◆ hasUtf8()

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

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

◆ internalDump()

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

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

◆ isEqual() [1/2]

bool Arccore::StringImpl::isEqual ( StringImpl str)

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

◆ isEqual() [2/2]

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

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

◆ isLessThan() [1/2]

bool Arccore::StringImpl::isLessThan ( StringImpl str)

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

◆ isLessThan() [2/2]

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

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

◆ largeUtf8()

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

Vue sur l'encodage UTF-8 AVEC zéro terminal.

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

Références Arccore::CoreArray< DataType >::view().

Référencé par bytes(), et Arccore::String::utf8().

◆ nbReference()

Int32 Arccore::StringImpl::nbReference ( )
inline

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

◆ null()

bool Arccore::StringImpl::null ( )
inline

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

◆ removeReference()

void Arccore::StringImpl::removeReference ( )

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

◆ replaceWhiteSpace()

StringImpl * Arccore::StringImpl::replaceWhiteSpace ( )

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

◆ substring()

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

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

◆ toLower()

StringImpl * Arccore::StringImpl::toLower ( )

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

◆ toStdStringView()

std::string_view Arccore::StringImpl::toStdStringView ( )

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

◆ toUpper()

StringImpl * Arccore::StringImpl::toUpper ( )

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

◆ utf16()

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

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

◆ view()

StringView Arccore::StringImpl::view ( )

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

Documentation des fonctions amies et associées

◆ String

friend class String
friend

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

◆ StringBuilder

friend class StringBuilder
friend

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

Documentation des données membres

◆ m_flags

int Arccore::StringImpl::m_flags
private

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

◆ m_nb_ref

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

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

◆ m_utf16_array

CoreArray<UChar> Arccore::StringImpl::m_utf16_array
private

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

◆ m_utf8_array

CoreArray<Byte> Arccore::StringImpl::m_utf8_array
private

Définition à la ligne 100 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 :