Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arccore::String

Chaîne de caractères unicode. Plus de détails...

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

+ Graphe de collaboration de Arccore::String:

Fonctions membres publiques

 String ()
 Crée une chaîne nulle.
 
 String (const char *str)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (char *str)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (const char *str, bool do_alloc)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (const char *str, Integer len)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (std::string_view str)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (StringView str)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (const std::string &str)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (const UCharConstArrayView &ustr)
 Créé une chaîne à partir de str dans l'encodage UTF-16.
 
 String (const Span< const Byte > &ustr)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (StringImpl *impl)
 Créé une chaîne à partir de str dans l'encodage UTF-8.
 
 String (const String &str)
 Créé une chaîne à partir de str.
 
 String (String &&str)
 Créé une chaîne à partir de str.
 
Stringoperator= (const String &str)
 Copie str dans cette instance.
 
Stringoperator= (String &&str)
 Copie str dans cette instance.
 
Stringoperator= (StringView str)
 Copie str dans cette instance.
 
Stringoperator= (const char *str)
 Référence str codé en UTF-8 dans cette instance.
 
Stringoperator= (std::string_view str)
 Copie str codé en UTF-8 dans cette instance.
 
Stringoperator= (const std::string &str)
 Copie str codé en UTF-8 dans cette instance.
 
 ~String ()
 Libère les ressources.
 
 operator StringView () const
 Retourne une vue sur la chaîne actuelle.
 
ConstArrayView< UCharutf16 () const
 Retourne la conversion de l'instance dans l'encodage UTF-16.
 
ByteConstArrayView utf8 () const
 Retourne la conversion de l'instance dans l'encodage UTF-8.
 
Span< const Bytebytes () const
 Retourne la conversion de l'instance dans l'encodage UTF-8.
 
const char * localstr () const
 Retourne la conversion de l'instance dans l'encodage UTF-8.
 
std::string_view toStdStringView () const
 Retourne une vue de la STL sur la chaîne actuelle.
 
StringView view () const
 Retourne une vue sur la chaîne actuelle.
 
String clone () const
 Clone cette chaîne.
 
String upper () const
 Transforme tous les caractères de la chaîne en majuscules.
 
String lower () const
 Transforme tous les caractères de la chaîne en minuscules.
 
bool null () const
 Retourne true si la chaîne est nulle.
 
Integer len () const
 Retourne la longueur de la chaîne en 32 bits.
 
Int64 length () const
 Retourne la longueur de la chaîne.
 
bool empty () const
 Vrai si la chaîne est vide (nulle ou "")
 
Int32 hashCode () const
 Calcule une valeur de hashage pour cette chaîne de caractères.
 
void writeBytes (std::ostream &o) const
 Écrit la chaîne au format UTF-8 sur le flot o.
 
String operator+ (const char *str) const
 Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.
 
String operator+ (std::string_view str) const
 Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.
 
String operator+ (const std::string &str) const
 Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.
 
String operator+ (const String &str) const
 Retourne la concaténation de cette chaîne avec la chaîne str.
 
String operator+ (unsigned long v) const
 
String operator+ (unsigned int v) const
 
String operator+ (double v) const
 
String operator+ (long double v) const
 
String operator+ (int v) const
 
String operator+ (long v) const
 
String operator+ (unsigned long long v) const
 
String operator+ (long long v) const
 
String operator+ (const APReal &v) const
 
bool contains (const String &s) const
 Indique si la chaîne contient s.
 
bool startsWith (const String &s) const
 Indique si la chaîne commence par les caractères de s.
 
bool endsWith (const String &s) const
 Indique si la chaîne se termine par les caractères de s.
 
String substring (Int64 pos) const
 Sous-chaîne commençant à la position pos.
 
String substring (Int64 pos, Int64 len) const
 Sous-chaîne commençant à la position pos et de longueur len.
 
template<typename StringContainer >
void split (StringContainer &str_array, char c) const
 Découpe la chaîne suivant le caractère c.
 
void internalDump (std::ostream &ostr) const
 Affiche les infos internes de la classe.
 

Fonctions membres publiques statiques

static String fromUtf8 (Span< const Byte > bytes)
 
static String replaceWhiteSpace (const String &rhs)
 Effectue une normalisation des caractères espaces.
 
static String collapseWhiteSpace (const String &rhs)
 Effectue une normalisation des caractères espaces.
 
static String fromNumber (unsigned long v)
 
static String fromNumber (unsigned int v)
 
static String fromNumber (double v)
 
static String fromNumber (double v, Integer nb_digit_after_point)
 
static String fromNumber (long double v)
 
static String fromNumber (int v)
 
static String fromNumber (long v)
 
static String fromNumber (unsigned long long v)
 
static String fromNumber (long long v)
 
static String fromNumber (const APReal &v)
 
static String format (const String &str)
 
static String format (const String &str, const StringFormatterArg &arg1)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4, const StringFormatterArg &arg5)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4, const StringFormatterArg &arg5, const StringFormatterArg &arg6)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4, const StringFormatterArg &arg5, const StringFormatterArg &arg6, const StringFormatterArg &arg7)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4, const StringFormatterArg &arg5, const StringFormatterArg &arg6, const StringFormatterArg &arg7, const StringFormatterArg &arg8)
 
static String format (const String &str, const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4, const StringFormatterArg &arg5, const StringFormatterArg &arg6, const StringFormatterArg &arg7, const StringFormatterArg &arg8, const StringFormatterArg &arg9)
 
static String concat (const StringFormatterArg &arg1)
 
static String concat (const StringFormatterArg &arg1, const StringFormatterArg &arg2)
 
static String concat (const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3)
 
static String concat (const StringFormatterArg &arg1, const StringFormatterArg &arg2, const StringFormatterArg &arg3, const StringFormatterArg &arg4)
 
static String plural (const Integer n, const String &str, const bool with_number=true)
 Forme standard du pluriel par ajout d'un 's'.
 
static String plural (const Integer n, const String &str, const String &str2, const bool with_number=true)
 Forme particulière du pluriel par variante.
 
static String join (String delim, ConstArrayView< String > strs)
 

Fonctions membres privées

void _checkClone () const
 
bool isLess (const String &s) const
 
String_append (const String &str)
 
std::string_view _viewFromConstChar () const
 
void _removeReference ()
 
ConstArrayView< UChar_internalUtf16BE () const
 
void _resetFields ()
 
void _copyFields (const String &str)
 
void _removeReferenceIfNeeded ()
 Supprime la référence à l'implémentation si elle n'est pas nulle.
 
void _removeImplReference ()
 Supprime la référence à l'implémentation.
 

Attributs privés

StringImplm_p = nullptr
 Implémentation de la classe.
 
const char * m_const_ptr = nullptr
 
Int64 m_const_ptr_size = 0
 Longueur de la chaîne si constante (-1 sinon)
 

Amis

class StringBuilder
 
class StringUtilsImpl
 
ARCCORE_BASE_EXPORT bool operator< (const String &a, const String &b)
 
ARCCORE_BASE_EXPORT bool operator== (const String &a, const String &b)
 Compare deux chaînes unicode.
 
bool operator!= (const String &a, const String &b)
 Compare deux chaînes unicode.
 
ARCCORE_BASE_EXPORT std::ostream & operator<< (std::ostream &o, const String &)
 Opérateur d'écriture d'une String.
 
ARCCORE_BASE_EXPORT std::istream & operator>> (std::istream &o, String &)
 Opérateur de lecture d'une String.
 
ARCCORE_BASE_EXPORT bool operator== (const char *a, const String &b)
 Compare deux chaînes unicode.
 
bool operator!= (const char *a, const String &b)
 Compare deux chaînes unicode.
 
ARCCORE_BASE_EXPORT bool operator== (const String &a, const char *b)
 Compare deux chaînes unicode.
 
bool operator!= (const String &a, const char *b)
 Compare deux chaînes unicode.
 
ARCCORE_BASE_EXPORT String operator+ (const char *a, const String &b)
 Ajoute deux chaînes.
 
ARCCORE_BASE_EXPORT bool operator< (const String &a, const String &b)
 

Description détaillée

Chaîne de caractères unicode.

Cette classe permet de gérer une chaîne de caractères soit avec l'encodage UTF-8 soit avec l'encodage UTF-16. A noter que l'encodage UTF-16 est obsolète et sera supprimé dans une version ultérieure lorsque le C++20 sera disponible.

Toutes les méthodes utilisant des const char* en arguments supposent que l'encodage utilisé est en UTF-8.

Les instances de cette classe sont immutables.

Cette classe est similaire à std::string mais avec les différences suivantes:

  • la classe String utilise l'encodage UTF-8 alors que pour std::string l'encodage est indéfini.
  • contrairement à std::string, il n'est pas possible actuellement de conserver des caractères nuls à l'intérieur d'une String.
  • pour String, il y a une distinction entre la chaîne nulle et la chaîne vide. Le constructeur String::String() créé une chaîne nulle alors que String::String("") créé une chaîne vide. Si la chaîne est nulle, les appels à view() ou toStdStringView() retourne une chaîne vide.

Lorsque le C++20 sera disponible, la classe String correspondra au type std::optional<std::u8string>.

Pour des raisons de performance, pour construire par morceaux une chaîne de caractères, il est préférable d'utiliser la classe 'StringBuilder'.

Définition à la ligne 69 du fichier arccore/src/base/arccore/base/String.h.

Documentation des constructeurs et destructeur

◆ String() [1/13]

Arccore::String::String ( )
inline

Crée une chaîne nulle.

Définition à la ligne 80 du fichier arccore/src/base/arccore/base/String.h.

Référencé par clone(), collapseWhiteSpace(), operator=(), operator=(), et operator=().

◆ String() [2/13]

Arccore::String::String ( const char *  str)
inline

Créé une chaîne à partir de str dans l'encodage UTF-8.

Avertissement
Attention, la chaine est supposée constante sa validité infinie (i.e il s'agit d'une chaîne constante à la compilation. Si la chaîne passée en argument peut être désallouée, il faut utiliser String(std::string_view) à la place.

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

◆ String() [3/13]

Arccore::String::String ( char *  str)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 124 du fichier String.cc.

Références m_p.

◆ String() [4/13]

Arccore::String::String ( const char *  str,
bool  do_alloc 
)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 135 du fichier String.cc.

Références m_const_ptr_size, et m_p.

◆ String() [5/13]

Arccore::String::String ( const char *  str,
Integer  len 
)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 113 du fichier String.cc.

Références m_p.

◆ String() [6/13]

Arccore::String::String ( std::string_view  str)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 56 du fichier String.cc.

Références m_p.

◆ String() [7/13]

Arccore::String::String ( StringView  str)

Créé une chaîne à partir de str dans l'encodage UTF-8.

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

Références m_p.

◆ String() [8/13]

Arccore::String::String ( const std::string &  str)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 45 du fichier String.cc.

Références m_p.

◆ String() [9/13]

Arccore::String::String ( const UCharConstArrayView ustr)

Créé une chaîne à partir de str dans l'encodage UTF-16.

Définition à la ligne 79 du fichier String.cc.

Références m_p.

◆ String() [10/13]

Arccore::String::String ( const Span< const Byte > &  ustr)

Créé une chaîne à partir de str dans l'encodage UTF-8.

Définition à la ligne 90 du fichier String.cc.

Références m_p.

◆ String() [11/13]

Arccore::String::String ( StringImpl impl)
explicit

Créé une chaîne à partir de str dans l'encodage UTF-8.

Créé une chaîne à partir de str dans l'encodage UTF-8

Définition à la ligne 101 du fichier String.cc.

Références m_p.

◆ String() [12/13]

Arccore::String::String ( const String str)

Créé une chaîne à partir de str.

Définition à la ligne 155 du fichier String.cc.

Références m_p.

◆ String() [13/13]

Arccore::String::String ( String &&  str)
inline

Créé une chaîne à partir de str.

Définition à la ligne 120 du fichier arccore/src/base/arccore/base/String.h.

◆ ~String()

Arccore::String::~String ( )
inline

Libère les ressources.

Définition à la ligne 156 du fichier arccore/src/base/arccore/base/String.h.

Documentation des fonctions membres

◆ _append()

String & Arccore::String::_append ( const String str)
private

Définition à la ligne 422 du fichier String.cc.

◆ _checkClone()

void Arccore::String::_checkClone ( ) const
private

Définition à la ligne 387 du fichier String.cc.

◆ _copyFields()

void Arccore::String::_copyFields ( const String str)
inlineprivate

Définition à la ligne 545 du fichier arccore/src/base/arccore/base/String.h.

◆ _internalUtf16BE()

ConstArrayView< UChar > Arccore::String::_internalUtf16BE ( ) const
private

Définition à la ligne 248 du fichier String.cc.

◆ _removeImplReference()

void Arccore::String::_removeImplReference ( )
private

Supprime la référence à l'implémentation.

Précondition
m_p != nullptr

Définition à la ligne 239 du fichier String.cc.

Références m_p.

◆ _removeReferenceIfNeeded()

void Arccore::String::_removeReferenceIfNeeded ( )
inlineprivate

Supprime la référence à l'implémentation si elle n'est pas nulle.

Définition à la ligne 555 du fichier arccore/src/base/arccore/base/String.h.

Référencé par operator=(), et operator=().

◆ _resetFields()

void Arccore::String::_resetFields ( )
inlineprivate

Définition à la ligne 539 du fichier arccore/src/base/arccore/base/String.h.

◆ _viewFromConstChar()

std::string_view Arccore::String::_viewFromConstChar ( ) const
inlineprivate

Définition à la ligne 533 du fichier arccore/src/base/arccore/base/String.h.

◆ bytes()

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

Retourne la conversion de l'instance dans l'encodage UTF-8.

bytes().size() correspond à la longueur de la chaîne de caractères mais la vue retournée contient toujours un '\0' terminal.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance.

Définition à la ligne 290 du fichier String.cc.

Références Arccore::StringImpl::bytes(), m_const_ptr_size, et m_p.

Référencé par Arcane::StringVariableReplace::_splitString(), Arcane::ParameterList::addParameterLine(), endsWith(), hashCode(), Arccore::BasicSerializer::put(), Arccore::BasicSerializer::reserve(), startsWith(), writeBytes(), et Arccore::TraceMng::writeDirect().

◆ clone()

String Arccore::String::clone ( ) const

Clone cette chaîne.

Définition à la ligne 411 du fichier String.cc.

Références m_p, et String().

Référencé par Arcane::ArcaneCurveWriter::writeCurve(), et Arcane::GnuplotTimeHistoryCurveWriter2::writeCurve().

◆ collapseWhiteSpace()

String Arccore::String::collapseWhiteSpace ( const String rhs)
static

Effectue une normalisation des caractères espaces.

Le comportement est identique à replaceWhiteSpace() avec en plus:

  • remplacement de tous les blancs consécutifs par un seul.
  • suppression des blancs en début et fin de chaîne. Cela correspond à l'attribut xs:collapse de XMLSchema 1.0

Définition à la ligne 451 du fichier String.cc.

Références m_p, null(), et String().

◆ concat() [1/4]

String Arccore::String::concat ( const StringFormatterArg arg1)
static

Définition à la ligne 1006 du fichier String.cc.

◆ concat() [2/4]

String Arccore::String::concat ( const StringFormatterArg arg1,
const StringFormatterArg arg2 
)
static

Définition à la ligne 1012 du fichier String.cc.

◆ concat() [3/4]

String Arccore::String::concat ( const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3 
)
static

Définition à la ligne 1019 du fichier String.cc.

◆ concat() [4/4]

String Arccore::String::concat ( const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4 
)
static

Définition à la ligne 1027 du fichier String.cc.

◆ contains()

bool Arccore::String::contains ( const String s) const

Indique si la chaîne contient s.

Définition à la ligne 1066 du fichier String.cc.

Références null(), et toStdStringView().

◆ empty()

◆ endsWith()

bool Arccore::String::endsWith ( const String s) const

Indique si la chaîne se termine par les caractères de s.

Définition à la ligne 1082 du fichier String.cc.

Références bytes(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

◆ format() [1/10]

String Arccore::String::format ( const String str)
static

Définition à la ligne 826 du fichier String.cc.

◆ format() [2/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1 
)
static

Définition à la ligne 835 du fichier String.cc.

◆ format() [3/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2 
)
static

Définition à la ligne 846 du fichier String.cc.

◆ format() [4/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3 
)
static

Définition à la ligne 859 du fichier String.cc.

◆ format() [5/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4 
)
static

Définition à la ligne 874 du fichier String.cc.

◆ format() [6/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4,
const StringFormatterArg arg5 
)
static

Définition à la ligne 891 du fichier String.cc.

◆ format() [7/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4,
const StringFormatterArg arg5,
const StringFormatterArg arg6 
)
static

Définition à la ligne 910 du fichier String.cc.

◆ format() [8/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4,
const StringFormatterArg arg5,
const StringFormatterArg arg6,
const StringFormatterArg arg7 
)
static

Définition à la ligne 931 du fichier String.cc.

◆ format() [9/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4,
const StringFormatterArg arg5,
const StringFormatterArg arg6,
const StringFormatterArg arg7,
const StringFormatterArg arg8 
)
static

Définition à la ligne 954 du fichier String.cc.

◆ format() [10/10]

String Arccore::String::format ( const String str,
const StringFormatterArg arg1,
const StringFormatterArg arg2,
const StringFormatterArg arg3,
const StringFormatterArg arg4,
const StringFormatterArg arg5,
const StringFormatterArg arg6,
const StringFormatterArg arg7,
const StringFormatterArg arg8,
const StringFormatterArg arg9 
)
static

Définition à la ligne 979 du fichier String.cc.

◆ fromNumber() [1/10]

String Arccore::String::fromNumber ( const APReal v)
static

Définition à la ligne 571 du fichier String.cc.

◆ fromNumber() [2/10]

String Arccore::String::fromNumber ( double  v)
static

Définition à la ligne 535 du fichier String.cc.

◆ fromNumber() [3/10]

String Arccore::String::fromNumber ( double  v,
Integer  nb_digit_after_point 
)
static

Définition à la ligne 577 du fichier String.cc.

◆ fromNumber() [4/10]

String Arccore::String::fromNumber ( int  v)
static

Définition à la ligne 547 du fichier String.cc.

◆ fromNumber() [5/10]

String Arccore::String::fromNumber ( long double  v)
static

Définition à la ligne 541 du fichier String.cc.

◆ fromNumber() [6/10]

String Arccore::String::fromNumber ( long long  v)
static

Définition à la ligne 565 du fichier String.cc.

◆ fromNumber() [7/10]

String Arccore::String::fromNumber ( long  v)
static

Définition à la ligne 553 du fichier String.cc.

◆ fromNumber() [8/10]

String Arccore::String::fromNumber ( unsigned int  v)
static

Définition à la ligne 529 du fichier String.cc.

◆ fromNumber() [9/10]

String Arccore::String::fromNumber ( unsigned long long  v)
static

Définition à la ligne 559 du fichier String.cc.

◆ fromNumber() [10/10]

String Arccore::String::fromNumber ( unsigned long  v)
static

Définition à la ligne 523 du fichier String.cc.

◆ fromUtf8()

String Arccore::String::fromUtf8 ( Span< const Byte bytes)
static

Définition à la ligne 709 du fichier String.cc.

◆ hashCode()

Int32 Arccore::String::hashCode ( ) const

Calcule une valeur de hashage pour cette chaîne de caractères.

Définition à la ligne 732 du fichier String.cc.

Références bytes(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

◆ internalDump()

void Arccore::String::internalDump ( std::ostream &  ostr) const

Affiche les infos internes de la classe.

Cette méthode n'est utile que pour débugger Arccore

Définition à la ligne 718 du fichier String.cc.

Références m_p.

◆ isLess()

bool Arccore::String::isLess ( const String s) const
private

Définition à la ligne 673 du fichier String.cc.

◆ join()

String Arccore::String::join ( String  delim,
ConstArrayView< String strs 
)
static

Définition à la ligne 1136 du fichier String.cc.

◆ len()

Integer Arccore::String::len ( ) const

Retourne la longueur de la chaîne en 32 bits.

Définition à la ligne 327 du fichier String.cc.

Références Arccore::arccoreCheckArraySize(), et toStdStringView().

Référencé par substring().

◆ length()

Int64 Arccore::String::length ( ) const

◆ localstr()

const char * Arccore::String::localstr ( ) const

Retourne la conversion de l'instance dans l'encodage UTF-8.

Si null() est vrai, retourne la chaîne vide. Sinon, cette méthode est équivalent à appeler bytes().data(). Il y a toujours un '\0' terminal à la fin de la chaîne retournée.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance.

Définition à la ligne 226 du fichier String.cc.

Références m_p.

Référencé par Arcane::SimpleTableInternalComparator::_exploreColumn(), Arcane::SimpleTableInternalComparator::_exploreRows(), Arcane::MetisMeshPartitioner::_partitionMesh(), Arcane::MetisMeshPartitioner::_writeGraph(), Arcane::builtInGetValue(), Arcane::centralizePartInfo(), Arcane::CartesianMeshCoarsening::createCoarseCells(), Arccore::Platform::createDirectory(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arcane::TimeStats::endGatherStats(), Arcane::DumpWEnsight7::endWrite(), Arcane::DumpWUCD::endWrite(), Arcane::Process::execute(), Arccore::Platform::getFileDirName(), Arccore::Platform::getFileLength(), Arccore::Platform::isFileReadable(), Arccore::operator<<(), Arcane::MatVec::Matrix::read(), Arcane::MatVec::Matrix::readHypre(), Arcane::VtkMeshIOService::readMesh(), Arcane::MshMeshReader::readMeshFromMshFile(), Arcane::MshParallelMeshReader::readMeshFromMshFile(), Arcane::ItemTypeMng::readTypes(), Arccore::Platform::recursiveCreateDirectory(), Arccore::Platform::removeFile(), Arcane::impl::BasicWriter::setMetaData(), ArcaneTest::UnitTestCartesianMeshPatchService::setUpForClass(), split(), Arcane::dom::LibXml2_SchemaValidator::validate(), Arcane::LimaMeshWriter::writeMeshToFile(), et Arcane::IOMng::writeXmlFile().

◆ lower()

String Arccore::String::lower ( ) const

Transforme tous les caractères de la chaîne en minuscules.

Définition à la ligne 477 du fichier String.cc.

Références m_p.

◆ null()

bool Arccore::String::null ( ) const

◆ operator StringView()

Arccore::String::operator StringView ( ) const

Retourne une vue sur la chaîne actuelle.

L'encodage utilisé est UTF-8.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance. La vue retournée ne doit pas être conservée.

Définition à la ligne 379 du fichier String.cc.

◆ operator+() [1/13]

String Arccore::String::operator+ ( const APReal v) const

Définition à la ligne 663 du fichier String.cc.

◆ operator+() [2/13]

String Arccore::String::operator+ ( const char *  str) const
inline

Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.

Définition à la ligne 372 du fichier arccore/src/base/arccore/base/String.h.

◆ operator+() [3/13]

String Arccore::String::operator+ ( const std::string &  str) const

Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.

Définition à la ligne 501 du fichier String.cc.

◆ operator+() [4/13]

String Arccore::String::operator+ ( const String str) const

Retourne la concaténation de cette chaîne avec la chaîne str.

Définition à la ligne 513 du fichier String.cc.

◆ operator+() [5/13]

String Arccore::String::operator+ ( double  v) const

Définition à la ligne 621 du fichier String.cc.

◆ operator+() [6/13]

String Arccore::String::operator+ ( int  v) const

Définition à la ligne 635 du fichier String.cc.

◆ operator+() [7/13]

String Arccore::String::operator+ ( long double  v) const

Définition à la ligne 628 du fichier String.cc.

◆ operator+() [8/13]

String Arccore::String::operator+ ( long long  v) const

Définition à la ligne 656 du fichier String.cc.

◆ operator+() [9/13]

String Arccore::String::operator+ ( long  v) const

Définition à la ligne 642 du fichier String.cc.

◆ operator+() [10/13]

String Arccore::String::operator+ ( std::string_view  str) const

Retourne la concaténation de cette chaîne avec la chaîne str encodée en UTF-8.

Définition à la ligne 489 du fichier String.cc.

◆ operator+() [11/13]

String Arccore::String::operator+ ( unsigned int  v) const

Définition à la ligne 614 du fichier String.cc.

◆ operator+() [12/13]

String Arccore::String::operator+ ( unsigned long long  v) const

Définition à la ligne 649 du fichier String.cc.

◆ operator+() [13/13]

String Arccore::String::operator+ ( unsigned long  v) const

Définition à la ligne 607 du fichier String.cc.

◆ operator=() [1/6]

String & Arccore::String::operator= ( const char *  str)
inline

Référence str codé en UTF-8 dans cette instance.

Avertissement
Attention, la chaine est supposée constante sa validité infinie (i.e il s'agit d'une chaîne constante à la compilation. Si la chaîne passée en argument peut être désallouée, il faut utiliser String::operator=(std::string_view) à la place.

Définition à la ligne 140 du fichier arccore/src/base/arccore/base/String.h.

◆ operator=() [2/6]

String & Arccore::String::operator= ( const std::string &  str)

Copie str codé en UTF-8 dans cette instance.

Définition à la ligne 214 du fichier String.cc.

Références operator=(), et String().

◆ operator=() [3/6]

String & Arccore::String::operator= ( const String str)

Copie str dans cette instance.

Définition à la ligne 168 du fichier String.cc.

Références _removeReferenceIfNeeded(), et m_p.

Référencé par operator=(), operator=(), et operator=().

◆ operator=() [4/6]

String & Arccore::String::operator= ( std::string_view  str)

Copie str codé en UTF-8 dans cette instance.

Définition à la ligne 205 du fichier String.cc.

Références operator=(), et String().

◆ operator=() [5/6]

String & Arccore::String::operator= ( String &&  str)

Copie str dans cette instance.

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

Références _removeReferenceIfNeeded().

◆ operator=() [6/6]

String & Arccore::String::operator= ( StringView  str)

Copie str dans cette instance.

Définition à la ligne 196 du fichier String.cc.

Références operator=(), et String().

◆ plural() [1/2]

String Arccore::String::plural ( const Integer  n,
const String str,
const bool  with_number = true 
)
static

Forme standard du pluriel par ajout d'un 's'.

Définition à la ligne 1039 du fichier String.cc.

Références plural().

Référencé par plural().

◆ plural() [2/2]

String Arccore::String::plural ( const Integer  n,
const String str,
const String str2,
const bool  with_number = true 
)
static

Forme particulière du pluriel par variante.

Définition à la ligne 1054 du fichier String.cc.

◆ replaceWhiteSpace()

String Arccore::String::replaceWhiteSpace ( const String rhs)
static

Effectue une normalisation des caractères espaces.

Tous les caractères espaces sont remplacés par des blancs espaces #x20, à savoir #xD (Carriage Return), #xA (Line Feed) et #x9 (Tabulation). Cela correspond à l'attribut xs:replace de XMLSchema 1.0

Définition à la ligne 439 du fichier String.cc.

Références m_p.

◆ split()

template<typename StringContainer >
void Arccore::String::split ( StringContainer &  str_array,
char  c 
) const
inline

Découpe la chaîne suivant le caractère c.

Définition à la ligne 488 du fichier arccore/src/base/arccore/base/String.h.

Références length(), et localstr().

◆ startsWith()

bool Arccore::String::startsWith ( const String s) const

Indique si la chaîne commence par les caractères de s.

Définition à la ligne 1098 du fichier String.cc.

Références bytes(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

◆ substring() [1/2]

String Arccore::String::substring ( Int64  pos) const

Sous-chaîne commençant à la position pos.

Définition à la ligne 1113 du fichier String.cc.

Références length(), et substring().

Référencé par Arcane::StringVariableReplace::_splitString(), Arcane::ParameterList::addParameterLine(), et substring().

◆ substring() [2/2]

String Arccore::String::substring ( Int64  pos,
Int64  len 
) const

Sous-chaîne commençant à la position pos et de longueur len.

Définition à la ligne 1122 du fichier String.cc.

Références len(), et m_p.

◆ toStdStringView()

std::string_view Arccore::String::toStdStringView ( ) const

Retourne une vue de la STL sur la chaîne actuelle.

L'encodage utilisé est UTF-8.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance. La vue retournée ne doit pas être conservée.

Définition à la ligne 347 du fichier String.cc.

Références m_const_ptr_size, et m_p.

Référencé par contains(), len(), et length().

◆ upper()

String Arccore::String::upper ( ) const

Transforme tous les caractères de la chaîne en majuscules.

Définition à la ligne 465 du fichier String.cc.

Références m_p.

Référencé par Arcane::MetisMeshPartitioner::_partitionMesh().

◆ utf16()

ConstArrayView< UChar > Arccore::String::utf16 ( ) const

Retourne la conversion de l'instance dans l'encodage UTF-16.

Le tableau retourné contient toujours un zéro terminal si la chaîne n'est par nulle. Par conséquent, la taille de toute chaîne non nulle est celle du tableau moins 1.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance.
Obsolète:
Il faut utiliser StringUtils::asUtf16BE() à la place. A noter que la fonction StringUtils::asUtf16BE() ne contient pas de 0x00 terminal.

Définition à la ligne 265 du fichier String.cc.

◆ utf8()

ByteConstArrayView Arccore::String::utf8 ( ) const

Retourne la conversion de l'instance dans l'encodage UTF-8.

Le tableau retourné contient toujours un zéro terminal si la chaîne n'est par nulle. Par conséquent, la taille de toute chaîne non nulle est celle du tableau moins 1.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance.

Définition à la ligne 274 du fichier String.cc.

Références Arccore::arccoreCheckArraySize(), Arccore::StringImpl::largeUtf8(), m_const_ptr_size, m_p, et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::smallView().

Référencé par Arcane::VtkMeshIOService::_readData(), Arcane::StringScalarData::computeHash(), Arcane::StringScalarData::createSerializedDataRef(), Arcane::FlexLMMng::featureInfo(), et Arcane::IOMng::parseXmlString().

◆ view()

StringView Arccore::String::view ( ) const

Retourne une vue sur la chaîne actuelle.

L'encodage utilisé est UTF-8.

Avertissement
L'instance reste propriétaire de la valeur retournée et cette valeur est invalidée par toute modification de cette instance. La vue retournée ne doit pas être conservée.

Définition à la ligne 366 du fichier String.cc.

Références m_p.

◆ writeBytes()

void Arccore::String::writeBytes ( std::ostream &  o) const

Écrit la chaîne au format UTF-8 sur le flot o.

Définition à la ligne 1235 du fichier String.cc.

Références bytes(), Arccore::SpanImpl< T, SizeType, Extent, MinValue >::data(), et Arccore::SpanImpl< T, SizeType, Extent, MinValue >::size().

Référencé par Arcane::InternalInfosDumper::dumpArcaneDatabase().

Documentation des fonctions amies et associées

◆ operator!= [1/3]

bool operator!= ( const char *  a,
const String b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont différentes,
falsesi elles sont égales.

Définition à la ligne 342 du fichier arccore/src/base/arccore/base/String.h.

◆ operator!= [2/3]

bool operator!= ( const String a,
const char *  b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont différentes,
falsesi elles sont égales.

Définition à la ligne 359 du fichier arccore/src/base/arccore/base/String.h.

◆ operator!= [3/3]

bool operator!= ( const String a,
const String b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont différentes,
falsesi elles sont égales. \relate String

Définition à la ligne 320 du fichier arccore/src/base/arccore/base/String.h.

◆ operator+

ARCCORE_BASE_EXPORT String operator+ ( const char *  a,
const String b 
)
friend

Ajoute deux chaînes.

Définition à la ligne 1208 du fichier String.cc.

◆ operator< [1/2]

ARCCORE_BASE_EXPORT bool operator< ( const String a,
const String b 
)
friend

Définition à la ligne 1193 du fichier String.cc.

◆ operator< [2/2]

ARCCORE_BASE_EXPORT bool operator< ( const String a,
const String b 
)
friend

Définition à la ligne 1193 du fichier String.cc.

◆ operator<<

ARCCORE_BASE_EXPORT std::ostream & operator<< ( std::ostream &  o,
const String str 
)
friend

Opérateur d'écriture d'une String.

Définition à la ligne 1220 du fichier String.cc.

◆ operator== [1/3]

ARCCORE_BASE_EXPORT bool operator== ( const char *  a,
const String b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont égales,
falsesinon.

Définition à la ligne 1188 du fichier String.cc.

◆ operator== [2/3]

ARCCORE_BASE_EXPORT bool operator== ( const String a,
const char *  b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont égales,
falsesinon.

Définition à la ligne 1181 du fichier String.cc.

◆ operator== [3/3]

ARCCORE_BASE_EXPORT bool operator== ( const String a,
const String b 
)
friend

Compare deux chaînes unicode.

Valeurs retournées
truesi elles sont égales,
falsesinon. \relate String

Définition à la ligne 1152 du fichier String.cc.

◆ operator>>

ARCCORE_BASE_EXPORT std::istream & operator>> ( std::istream &  o,
String str 
)
friend

Opérateur de lecture d'une String.

Définition à la ligne 1247 du fichier String.cc.

◆ StringBuilder

friend class StringBuilder
friend

Définition à la ligne 74 du fichier arccore/src/base/arccore/base/String.h.

◆ StringUtilsImpl

friend class StringUtilsImpl
friend

Définition à la ligne 75 du fichier arccore/src/base/arccore/base/String.h.

Documentation des données membres

◆ m_const_ptr

const char* Arccore::String::m_const_ptr = nullptr
mutableprivate

Définition à la ligne 526 du fichier arccore/src/base/arccore/base/String.h.

◆ m_const_ptr_size

Int64 Arccore::String::m_const_ptr_size = 0
mutableprivate

Longueur de la chaîne si constante (-1 sinon)

Définition à la ligne 527 du fichier arccore/src/base/arccore/base/String.h.

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

◆ m_p


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