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"
30: m_p(new StringImpl(str))
40: m_p(new StringImpl(ustr))
50: m_p(new StringImpl(ustr))
71: m_p(new StringImpl(std::string_view(str,len)))
83 const bool do_alloc =
true;
85 m_p =
new StringImpl(str);
100, m_const_ptr(str.m_const_ptr)
112, m_const_ptr(str.m_const_ptr)
115 m_p =
new StringImpl(*str.m_p);
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;
170 m_p =
new StringImpl(*str.m_p);
183 if (m_const_ptr || !m_p){
186 sv = std::string_view(m_const_ptr);
187 m_p =
new StringImpl(sv);
189 m_const_ptr =
nullptr;
192 if (m_p->nbReference()!=1){
193 StringImpl* old_p = m_p;
196 old_p->removeReference();
218 return String(m_p->clone());
240 if (str.m_const_ptr){
241 StringView sv{std::string_view(str.m_const_ptr,str.m_const_ptr_size)};
242 m_p = m_p->append(sv);
245 m_p = m_p->append(str.m_p);
256 m_p = m_p->replaceWhiteSpace();
267 m_p = m_p->collapseWhiteSpace();
278 m_p = m_p->toUpper();
289 m_p = m_p->toLower();
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.
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.
Vue sur une chaîne de caractères UTF-8.
Chaîne de caractères unicode.
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.