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. | |
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) |
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=().
|
inline |
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 | ( | const char * | str, |
bool | do_alloc | ||
) |
Arccore::String::String | ( | const char * | str, |
Integer | len | ||
) |
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 |
Arccore::String::String | ( | const String & | str | ) |
|
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(), Arcane::MeshReaderMng::readMesh(), 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 |
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().
bool Arccore::String::empty | ( | ) | const |
Vrai si la chaîne est vide (nulle ou "")
Définition à la ligne 314 du fichier String.cc.
Référencé par Arcane::DOMImplementation::_load(), Arcane::DOMImplementation::_load(), Arcane::CaseOptions::_setMeshHandleAndCheckDisabled(), Arcane::MeshUtils::checkUniqueIdsHashCollective(), Arcane::ArcaneLauncher::init(), Arcane::LimaMeshReaderService::readMeshFromFile(), et Arcane::ArcaneLauncher::run().
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().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
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().
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 Arcane::DOMImplementation::_load(), Arcane::DOMImplementation::_load(), et 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 Arccore::Platform::getFileDirName(), Arcane::MessagePassing::namedBarrier(), Arccore::BasicSerializer::put(), Arccore::Platform::recursiveCreateDirectory(), split(), et substring().
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.
Définition à la ligne 226 du fichier String.cc.
Référencé par Arcane::DOMImplementation::_load(), Arcane::DOMImplementation::_load(), Arcane::builtInGetValue(), Arcane::CartesianMeshCoarsening::createCoarseCells(), Arccore::Platform::createDirectory(), Arcane::MeshUtils::dumpSynchronizerTopologyJSON(), Arcane::Process::execute(), Arccore::Platform::getEnvironmentVariable(), Arccore::Platform::getFileDirName(), Arccore::Platform::getFileLength(), Arcane::platform::getLoadedSharedLibraryFullPath(), Arcane::CodeService::initCase(), Arcane::SimpleTableReaderWriterUtils::isFileExist(), Arccore::Platform::isFileReadable(), Arcane::MessagePassing::namedBarrier(), Arcane::nodeFromXPath(), Arccore::operator<<(), Arccore::Platform::recursiveCreateDirectory(), Arccore::Platform::removeFile(), split(), Arcane::dom::LibXml2_SchemaValidator::validate(), Arcane::VersionInfo::VersionInfo(), Arcane::MeshUtils::writeMeshConnectivity(), Arcane::MeshUtils::writeMeshInfosSorted(), et Arcane::LimaMeshWriter::writeMeshToFile().
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 Arcane::DOMImplementation::_load(), Arcane::DOMImplementation::_load(), Arcane::CaseOptionSimpleT< T >::_search(), Arcane::CaseOptionExtended::_search(), Arcane::CaseOptionMultiExtended::_search(), Arcane::CaseOptionMultiSimpleT< T >::_search(), Arccore::StringBuilder::append(), Arcane::XmlNode::attrValue(), Arcane::builtInGetValue(), collapseWhiteSpace(), contains(), Arcane::Accelerator::AcceleratorRuntimeInitialisationInfo::executionPolicy(), Arccore::Platform::getHomeDirectory(), Arcane::platform::getLoadedSharedLibraryFullPath(), Arcane::Materials::MeshMaterialVariableCommonStaticImpl< TrueType >::getReference(), Arcane::ApplicationBuildInfo::Impl::getValue(), Arcane::ManualHdf5VariableReader::initialize(), Arcane::CaseOptionName::name(), Arcane::Hdf5VariableReaderHelper::open(), Arcane::Hdf5VariableReaderHelper2::open(), Arcane::dom::LibXml2_Parser::parse(), Arcane::CaseOptions::read(), Arcane::LimaMeshReaderService::readMeshFromFile(), Arccore::TraceMng::setErrorFileName(), Arccore::TraceMng::setLogFileName(), Arcane::CaseFunction::setName(), Arcane::Internal::ServiceInfo::tagName(), Arcane::CaseOptionBase::translatedName(), Arcane::CaseOptions::translatedName(), Arcane::Convert::ScalarType< T >::tryParseFromEnvironment(), 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.
|
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.
String Arccore::String::operator+ | ( | const std::string & | str | ) | const |
String Arccore::String::operator+ | ( | long double | v | ) | const |
String Arccore::String::operator+ | ( | long long | v | ) | const |
String Arccore::String::operator+ | ( | std::string_view | str | ) | const |
String Arccore::String::operator+ | ( | unsigned int | v | ) | const |
String Arccore::String::operator+ | ( | unsigned long long | v | ) | const |
String Arccore::String::operator+ | ( | unsigned long | v | ) | const |
|
inline |
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.
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().
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().
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().
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(), length(), et Arcane::MeshReaderMng::readMesh().
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.
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().
|
friend |
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.
|
friend |
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 |
|
friend |
|
friend |
|
friend |
|
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.