Chaîne de caractères unicode. Plus de détails...
#include <arccore/base/String.h>
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. | |
String & | operator= (const String &str) |
Copie str dans cette instance. | |
String & | operator= (String &&str) |
Copie str dans cette instance. | |
String & | operator= (StringView str) |
Copie str dans cette instance. | |
String & | operator= (const char *str) |
Référence str codé en UTF-8 dans cette instance. | |
String & | operator= (std::string_view str) |
Copie str codé en UTF-8 dans cette instance. | |
String & | operator= (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< UChar > | utf16 () 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 Byte > | bytes () 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. | |
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) |
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:
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.
|
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=().
Créé une chaîne à partir de str dans l'encodage UTF-8.
Définition à la ligne 89 du fichier arccore/src/base/arccore/base/String.h.
Arccore::String::String | ( | char * | str | ) |
Arccore::String::String | ( | std::string_view | str | ) |
Arccore::String::String | ( | StringView | str | ) |
Arccore::String::String | ( | const std::string & | str | ) |
Arccore::String::String | ( | const UCharConstArrayView & | ustr | ) |
|
explicit |
|
inline |
Créé une chaîne à partir de str.
Définition à la ligne 120 du fichier arccore/src/base/arccore/base/String.h.
|
inline |
Libère les ressources.
Définition à la ligne 156 du fichier arccore/src/base/arccore/base/String.h.
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.
Définition à la ligne 290 du fichier String.cc.
Référencé par Arcane::ParameterList::addParameterLine(), endsWith(), hashCode(), Arccore::BasicSerializer::put(), Arccore::BasicSerializer::reserve(), startsWith(), writeBytes(), et Arccore::TraceMng::writeDirect().
String Arccore::String::clone | ( | ) | const |
Effectue une normalisation des caractères espaces.
Le comportement est identique à replaceWhiteSpace() avec en plus:
|
static |
|
static |
|
static |
|
static |
Indique si la chaîne contient s.
Définition à la ligne 1066 du fichier String.cc.
Références null(), et toStdStringView().
bool Arccore::String::empty | ( | ) | const |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Int32 Arccore::String::hashCode | ( | ) | const |
void Arccore::String::internalDump | ( | std::ostream & | ostr | ) | const |
|
static |
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().
Int64 Arccore::String::length | ( | ) | const |
Retourne la longueur de la chaîne.
Définition à la ligne 337 du fichier String.cc.
Références toStdStringView().
Référencé par Arcane::MessagePassing::namedBarrier(), Arccore::BasicSerializer::put(), split(), et substring().
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.
Définition à la ligne 226 du fichier String.cc.
Référencé par Arcane::Process::execute(), Arccore::Platform::getEnvironmentVariable(), Arcane::MessagePassing::namedBarrier(), Arccore::operator<<(), split(), et Arcane::dom::LibXml2_SchemaValidator::validate().
String Arccore::String::lower | ( | ) | const |
bool Arccore::String::null | ( | ) | const |
Retourne true si la chaîne est nulle.
Définition à la ligne 303 du fichier String.cc.
Référencé par Arccore::StringBuilder::append(), Arcane::XmlNode::attrValue(), collapseWhiteSpace(), contains(), Arcane::MemoryUtils::getMemoryResourceFromName(), Arcane::ApplicationBuildInfo::Impl::getValue(), Arcane::ManualHdf5VariableReader::initialize(), Arcane::CaseOptionName::name(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), Arcane::Internal::ServiceInfo::tagName(), Arcane::CaseOptionBase::translatedName(), Arcane::CaseOptions::translatedName(), et Arcane::dom::LibXml2_SchemaValidator::validate().
Arccore::String::operator StringView | ( | ) | const |
Retourne une vue sur la chaîne actuelle.
L'encodage utilisé est UTF-8.
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.
String Arccore::String::operator+ | ( | std::string_view | str | ) | const |
Référence str codé en UTF-8 dans cette instance.
Définition à la ligne 140 du fichier arccore/src/base/arccore/base/String.h.
Copie str codé en UTF-8 dans cette instance.
Définition à la ligne 214 du fichier String.cc.
Références operator=(), et String().
Copie str dans cette instance.
Définition à la ligne 168 du fichier String.cc.
Référencé par operator=(), operator=(), et operator=().
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().
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().
|
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().
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::ParameterList::addParameterLine(), et substring().
std::string_view Arccore::String::toStdStringView | ( | ) | const |
Retourne une vue de la STL sur la chaîne actuelle.
L'encodage utilisé est UTF-8.
Définition à la ligne 347 du fichier String.cc.
Référencé par contains(), len(), et length().
String Arccore::String::upper | ( | ) | const |
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.
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.
Définition à la ligne 274 du fichier String.cc.
Références Arccore::arccoreCheckArraySize().
StringView Arccore::String::view | ( | ) | const |
Retourne une vue sur la chaîne actuelle.
L'encodage utilisé est UTF-8.
Définition à la ligne 366 du fichier String.cc.
Référencé par Arcane::builtInGetValue().
void Arccore::String::writeBytes | ( | std::ostream & | o | ) | const |
Compare deux chaînes unicode.
true | si elles sont différentes, |
false | si elles sont égales. |
Définition à la ligne 342 du fichier arccore/src/base/arccore/base/String.h.
Compare deux chaînes unicode.
true | si elles sont différentes, |
false | si elles sont égales. |
Définition à la ligne 359 du fichier arccore/src/base/arccore/base/String.h.
Compare deux chaînes unicode.
true | si elles sont différentes, |
false | si elles sont égales. \relate String |
Définition à la ligne 320 du fichier arccore/src/base/arccore/base/String.h.
|
friend |
Définition à la ligne 74 du fichier arccore/src/base/arccore/base/String.h.
|
friend |
Définition à la ligne 75 du fichier arccore/src/base/arccore/base/String.h.