14#include "arccore/base/StringBuilder.h"
15#include "arccore/base/internal/StringImpl.h"
16#include "arccore/base/String.h"
17#include "arccore/base/StringView.h"
71: m_p(new
StringImpl(std::string_view(str,len)))
83 const bool do_alloc =
true;
100, m_const_ptr(str.m_const_ptr)
112, m_const_ptr(str.m_const_ptr)
127 m_p->removeReference();
137 str.
m_p->addReference();
139 m_p->removeReference();
141 m_const_ptr = str.m_const_ptr;
152 m_p->removeReference();
167 m_p->removeReference();
168 m_const_ptr = str.m_const_ptr;
183 if (m_const_ptr || !
m_p){
186 sv = std::string_view(m_const_ptr);
189 m_const_ptr =
nullptr;
192 if (
m_p->nbReference()!=1){
193 StringImpl* old_p =
m_p;
196 old_p->removeReference();
240 if (str.m_const_ptr){
256 m_p =
m_p->replaceWhiteSpace();
267 m_p =
m_p->collapseWhiteSpace();
297operator+=(
const char* str)
303operator+=(
const String& str)
318operator+=(
unsigned long v)
320 append(String::fromNumber(v));
324operator+=(
unsigned int v)
326 append(String::fromNumber(v));
332 append(String::fromNumber(v));
336operator+=(
long double v)
338 append(String::fromNumber(v));
344 append(String::fromNumber(v));
350 append(String::fromNumber(v));
354operator+=(
unsigned long long v)
356 append(String::fromNumber(v));
360operator+=(
long long v)
362 append(String::fromNumber(v));
366operator+=(
const APReal& v)
368 append(String::fromNumber(v));
377 ostr <<
"StringDump(m_const_ptr=" << (
void*)m_const_ptr <<
",m_p=" <<
m_p;
380 m_p->internalDump(ostr);
403operator==(
const StringBuilder& a,
const StringBuilder& b)
405 return a.toString()==b.toString();
Vue constante d'un tableau de type T.
Constructeur de chaîne de caractère unicode.
StringImpl * m_p
Implémentation de la classe.
StringBuilder()
Crée une chaîne nulle.
StringBuilder & toUpper()
Transforme tous les caracteres de la chaine en majuscules.
String toString() const
Retourne la chaîne de caractères construite.
StringBuilder & collapseWhiteSpace()
Effectue une normalisation des caractères espaces. Le comportement est identique à replaceWhiteSpace(...
~StringBuilder()
Libère les ressources.
StringBuilder & replaceWhiteSpace()
Effectue une normalisation des caractères espaces. Tous les caractères espaces sont remplacés par des...
void internalDump(std::ostream &ostr) const
Affiche les infos internes de la classe.
StringBuilder clone() const
Clone cette chaîne.
const StringBuilder & operator=(const String &str)
Copie str dans cette instance.
StringBuilder & append(const String &str)
Ajoute str.
StringBuilder & toLower()
Transforme tous les caracteres de la chaine en minuscules.
Implémentation de la classe String.
Vue sur une chaîne de caractères UTF-8.
Chaîne de caractères unicode.
StringImpl * m_p
Implémentation de la classe.
Int64 m_const_ptr_size
Longueur de la chaîne si constante (-1 sinon)
const char * localstr() const
Retourne la conversion de l'instance dans l'encodage UTF-8.
bool null() const
Retourne true si la chaîne est nulle.
Espace de nom de Arccore.
Int32 Integer
Type représentant un entier.