Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TString Class Reference

Basic string class.

Cannot be stored in a TCollection... use TObjString instead.

The underlying string is stored as a char* that can be accessed via TString::Data(). TString provides Short String Optimization (SSO) so that short strings (<15 on 64-bit and <11 on 32-bit) are contained in the TString internal data structure without the need for mallocing the required space.

Substring operations are provided by the TSubString class, which holds a reference to the original string and its data, along with the offset and length of the substring. To retrieve the substring as a TString, construct a TString from it, eg:

root [0] TString s("hello world")
root [1] TString s2( s(0,5) )
root [2] s2
(class TString)"hello"
std::string hello(std::string who, std::string msg)
Definition FunModule.C:5
Basic string class.
Definition TString.h:139

Definition at line 139 of file TString.h.

Classes

struct  LongStr_t
 
struct  RawStr_t
 
struct  Rep_t
 
struct  ShortStr_t
 
union  UStr_t
 

Public Types

enum  ECaseCompare { kExact , kIgnoreCase }
 
enum  EStripType { kLeading = 0x1 , kTrailing = 0x2 , kBoth = 0x3 }
 
using size_type = Ssiz_t
 

Public Member Functions

 TString ()
 TString default ctor.
 
 TString (char c)
 Initialize a string with a single character.
 
 TString (char c, Ssiz_t s)
 Initialize the first n locations of a TString with character c.
 
 TString (const char *s)
 Create TString and initialize it with string cs.
 
 TString (const char *s, Ssiz_t n)
 Create TString and initialize it with the first n characters of cs.
 
 TString (const std::string &s)
 Create TString and initialize it with string cs.
 
 TString (const std::string_view &sub)
 Copy a std::string_view in a TString.
 
 TString (const TString &s)
 Copy constructor.
 
 TString (const TSubString &sub)
 Copy a TSubString in a TString.
 
 TString (Ssiz_t ic)
 Create TString able to contain ic characters.
 
 TString (TString &&s) noexcept
 Move constructor.
 
virtual ~TString ()
 Delete a TString.
 
TStringAppend (char c, Ssiz_t rep=1)
 Append character c rep times to string.
 
TStringAppend (const char *cs)
 
TStringAppend (const char *cs, Ssiz_t n)
 
TStringAppend (const TString &s)
 
TStringAppend (const TString &s, Ssiz_t n)
 
Double_t Atof () const
 Return floating-point value contained in string.
 
Int_t Atoi () const
 Return integer value of string.
 
Long64_t Atoll () const
 Return long long value of string.
 
Bool_t BeginsWith (const char *s, ECaseCompare cmp=kExact) const
 
Bool_t BeginsWith (const TString &pat, ECaseCompare cmp=kExact) const
 
Ssiz_t Capacity () const
 
Ssiz_t Capacity (Ssiz_t n)
 Return string capacity.
 
TStringChop ()
 
void Clear ()
 Clear string without changing its capacity.
 
int CompareTo (const char *cs, ECaseCompare cmp=kExact) const
 Compare a string to char *cs2.
 
int CompareTo (const TString &st, ECaseCompare cmp=kExact) const
 Compare a string to another string.
 
Bool_t Contains (const char *pat, ECaseCompare cmp=kExact) const
 
Bool_t Contains (const TRegexp &pat) const
 Returns whether the string matches the input TRegexp.
 
Bool_t Contains (const TString &pat, ECaseCompare cmp=kExact) const
 
Bool_t Contains (TPRegexp &pat) const
 
TString Copy () const
 Copy a string.
 
Int_t CountChar (Int_t c) const
 Return number of times character c occurs in the string.
 
const char * Data () const
 
Bool_t EndsWith (const char *pat, ECaseCompare cmp=kExact) const
 Return true if string ends with the specified string.
 
Bool_t EqualTo (const char *cs, ECaseCompare cmp=kExact) const
 
Bool_t EqualTo (const TString &st, ECaseCompare cmp=kExact) const
 
virtual void FillBuffer (char *&buffer) const
 Copy string into I/O buffer.
 
Ssiz_t First (char c) const
 Find first occurrence of a character c.
 
Ssiz_t First (const char *cs) const
 Find first occurrence of a character in cs.
 
void Form (const char *fmt,...)
 Formats a string using a printf style format descriptor.
 
Bool_t Gets (FILE *fp, Bool_t chop=kTRUE)
 Read one line from the stream, including the \n, or until EOF.
 
UInt_t Hash (ECaseCompare cmp=kExact) const
 Return hash value.
 
Ssiz_t Index (const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
Ssiz_t Index (const char *pat, Ssiz_t patlen, Ssiz_t i, ECaseCompare cmp) const
 Search for a string in the TString.
 
Ssiz_t Index (const TRegexp &pat, Ssiz_t *ext, Ssiz_t i=0) const
 Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.
 
Ssiz_t Index (const TRegexp &pat, Ssiz_t i=0) const
 Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.
 
Ssiz_t Index (const TString &s, Ssiz_t i=0, ECaseCompare cmp=kExact) const
 
Ssiz_t Index (const TString &s, Ssiz_t patlen, Ssiz_t i, ECaseCompare cmp) const
 
Ssiz_t Index (TPRegexp &pat, Ssiz_t *ext, Ssiz_t i=0) const
 Find the first occurrence of the regexp in string and return the position.
 
Ssiz_t Index (TPRegexp &pat, Ssiz_t i=0) const
 Find the first occurrence of the regexp in string and return the position.
 
TStringInsert (Ssiz_t pos, const char *s)
 
TStringInsert (Ssiz_t pos, const char *s, Ssiz_t extent)
 
TStringInsert (Ssiz_t pos, const TString &s)
 
TStringInsert (Ssiz_t pos, const TString &s, Ssiz_t extent)
 
virtual TClassIsA () const
 
Bool_t IsAlnum () const
 Returns true if all characters in string are alphanumeric.
 
Bool_t IsAlpha () const
 Returns true if all characters in string are alphabetic.
 
Bool_t IsAscii () const
 Returns true if all characters in string are ascii.
 
Bool_t IsBin () const
 Returns true if all characters in string are binary digits (0,1).
 
Bool_t IsDec () const
 Returns true if all characters in string are decimal digits (0-9).
 
Bool_t IsDigit () const
 Returns true if all characters in string are digits (0-9) or white spaces, i.e.
 
Bool_t IsFloat () const
 Returns kTRUE if string contains a floating point or integer number.
 
Bool_t IsHex () const
 Returns true if all characters in string are hexadecimal digits (0-9,a-f,A-F).
 
Bool_t IsInBaseN (Int_t base) const
 Returns true if all characters in string are expressed in the base specified (range=2-36), i.e.
 
Bool_t IsNull () const
 
Bool_t IsOct () const
 Returns true if all characters in string are octal digits (0-7).
 
Bool_t IsWhitespace () const
 
Ssiz_t Last (char c) const
 Find last occurrence of a character c.
 
Ssiz_t Length () const
 
Bool_t MaybeRegexp () const
 Returns true if string contains one of the regexp characters "^$.[]*+?".
 
Bool_t MaybeWildcard () const
 Returns true if string contains one of the wildcard characters "[]*?".
 
TString MD5 () const
 Return the MD5 digest for this string, in a string representation.
 
 operator const char * () const
 
TSubString operator() (const TRegexp &re) const
 Return the substring found by applying the regexp.
 
TSubString operator() (const TRegexp &re, Ssiz_t start) const
 Return the substring found by applying the regexp starting at start.
 
char & operator() (Ssiz_t i)
 
char operator() (Ssiz_t i) const
 
TSubString operator() (Ssiz_t start, Ssiz_t len) const
 Return sub-string of string starting at start with length len.
 
TSubString operator() (TPRegexp &re) const
 Return the substring found by applying the regexp.
 
TSubString operator() (TPRegexp &re, Ssiz_t start) const
 Return the substring found by applying the regexp starting at start.
 
TStringoperator+= (char c)
 
TStringoperator+= (const char *s)
 
TStringoperator+= (const TString &s)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::typeoperator+= (T f)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::typeoperator+= (T i)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::typeoperator+= (T u)
 
TStringoperator= (char s)
 Assign character c to TString.
 
TStringoperator= (const char *s)
 Assign string cs to TString.
 
TStringoperator= (const std::string &s)
 Assign std::string s to TString.
 
TStringoperator= (const std::string_view &s)
 Assign std::string s to TString.
 
TStringoperator= (const TString &s)
 Assignment operator.
 
TStringoperator= (const TSubString &s)
 Assign a TSubString substr to TString.
 
TStringoperator= (TString &&s) noexcept
 Move-Assignment operator.
 
char & operator[] (Ssiz_t i)
 
char operator[] (Ssiz_t i) const
 
TStringPrepend (char c, Ssiz_t rep=1)
 Prepend character c rep times to string.
 
TStringPrepend (const char *cs)
 
TStringPrepend (const char *cs, Ssiz_t n)
 
TStringPrepend (const TString &s)
 
TStringPrepend (const TString &s, Ssiz_t n)
 
void Puts (FILE *fp)
 Write string to the stream.
 
virtual void ReadBuffer (char *&buffer)
 Read string from I/O buffer.
 
std::istream & ReadFile (std::istream &str)
 Replace string with the contents of strm, stopping at an EOF.
 
std::istream & ReadLine (std::istream &str, Bool_t skipWhite=kTRUE)
 Read a line from stream upto newline skipping any whitespace.
 
std::istream & ReadString (std::istream &str)
 Read a line from stream upto \0, including any newline.
 
std::istream & ReadToDelim (std::istream &str, char delim='\n')
 Read up to an EOF, or a delimiting character, whichever comes first.
 
std::istream & ReadToken (std::istream &str)
 Read a token, delimited by whitespace, from the input stream.
 
TStringRemove (EStripType s, char c)
 Remove char c at begin and/or end of string (like Strip()) but modifies directly the string.
 
TStringRemove (Ssiz_t pos)
 
TStringRemove (Ssiz_t pos, Ssiz_t n)
 
TStringReplace (Ssiz_t pos, Ssiz_t n, const char *s)
 
TStringReplace (Ssiz_t pos, Ssiz_t n, const char *s, Ssiz_t ns)
 Remove at most n1 characters from self beginning at pos, and replace them with the first n2 characters of cs.
 
TStringReplace (Ssiz_t pos, Ssiz_t n, const TString &s)
 
TStringReplace (Ssiz_t pos, Ssiz_t n1, const TString &s, Ssiz_t n2)
 
TStringReplaceAll (const char *s1, const char *s2)
 
TStringReplaceAll (const char *s1, const TString &s2)
 
TStringReplaceAll (const char *s1, Ssiz_t ls1, const char *s2, Ssiz_t ls2)
 Find & Replace ls1 symbols of s1 with ls2 symbols of s2 if any.
 
TStringReplaceAll (const TString &s1, const char *s2)
 
TStringReplaceAll (const TString &s1, const TString &s2)
 
TStringReplaceSpecialCppChars ()
 Find special characters which are typically used in printf() calls and replace them by appropriate escape sequences.
 
void Resize (Ssiz_t n)
 Resize the string. Truncate or add blanks as necessary.
 
virtual Int_t Sizeof () const
 Returns size string will occupy on I/O buffer.
 
virtual void Streamer (TBuffer &)
 Stream a string object.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
TSubString Strip (EStripType s=kTrailing, char c=' ') const
 Return a substring of self stripped at beginning and/or end.
 
TSubString SubString (const char *pat, Ssiz_t start=0, ECaseCompare cmp=kExact) const
 Returns a substring matching "pattern", or the null substring if there is no such match.
 
TStringSwap (TString &other)
 
TObjArrayTokenize (const TString &delim) const
 This function is used to isolate sequential tokens in a TString.
 
Bool_t Tokenize (TString &tok, Ssiz_t &from, const char *delim=" ") const
 Search for tokens delimited by regular expression 'delim' (default " ") in this string; search starts at 'from' and the token is returned in 'tok'.
 
void ToLower ()
 Change string to lower-case.
 
void ToUpper ()
 Change string to upper case.
 
std::string_view View () const
 

Static Public Member Functions

static TString BaseConvert (const TString &s_in, Int_t base_in, Int_t base_out)
 Converts string from base base_in to base base_out.
 
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static TString Format (const char *fmt,...)
 Static method which formats a string using a printf style format descriptor and return a TString.
 
static Ssiz_t GetInitialCapacity ()
 
static Ssiz_t GetMaxWaste ()
 
static Ssiz_t GetResizeIncrement ()
 
static UInt_t Hash (const void *txt, Int_t ntxt)
 Calculates hash index from any char string.
 
static Ssiz_t InitialCapacity (Ssiz_t ic=15)
 Set default initial capacity for all TStrings. Default is 15.
 
static TString Itoa (Int_t value, Int_t base)
 Converts an Int_t to a TString with respect to the base specified (2-36).
 
static TString LLtoa (Long64_t value, Int_t base)
 Converts a Long64_t to a TString with respect to the base specified (2-36).
 
static Ssiz_t MaxWaste (Ssiz_t mw=15)
 Set maximum space that may be wasted in a string before doing a resize.
 
static TStringReadString (TBuffer &b, const TClass *clReq)
 Read TString object from buffer.
 
static Ssiz_t ResizeIncrement (Ssiz_t ri=16)
 Set default resize increment for all TStrings. Default is 16.
 
static TString UItoa (UInt_t value, Int_t base)
 Converts a UInt_t (twice the range of an Int_t) to a TString with respect to the base specified (2-36).
 
static TString ULLtoa (ULong64_t value, Int_t base)
 Converts a ULong64_t (twice the range of an Long64_t) to a TString with respect to the base specified (2-36).
 
static void WriteString (TBuffer &b, const TString *a)
 Write TString object to buffer.
 

Static Public Attributes

static constexpr Ssiz_t kNPOS = ::kNPOS
 

Protected Types

enum  { kAlignment = 16 }
 

Protected Member Functions

 TString (const char *a1, Ssiz_t n1, const char *a2, Ssiz_t n2)
 String data.
 
void AssertElement (Ssiz_t nc) const
 Check to make sure a string index is in range.
 
Ssiz_t Clobber (Ssiz_t nc)
 Clear string and make sure it has a capacity of nc.
 
void InitChar (char c)
 Initialize a string with a single character.
 

Static Protected Member Functions

static Ssiz_t AdjustCapacity (Ssiz_t oldCap, Ssiz_t newCap)
 Calculate a nice capacity greater than or equal to newCap.
 
static Ssiz_t Align (Ssiz_t s)
 
static Ssiz_t Recommend (Ssiz_t s)
 

Protected Attributes

Rep_t fRep
 

Private Types

enum  { kShortMask = 0x80 , kLongMask = 0x80000000 }
 
enum  
 
enum  { kNwords = sizeof(UStr_t) / sizeof(Ssiz_t) }
 

Private Member Functions

void Clone (Ssiz_t nc)
 Make self a distinct copy with capacity of at least tot, where tot cannot be smaller than the current length.
 
void FormImp (const char *fmt, va_list ap)
 Formats a string using a printf style format descriptor.
 
Ssiz_t GetLongCap () const
 
char * GetLongPointer ()
 
const char * GetLongPointer () const
 
Ssiz_t GetLongSize () const
 
char * GetPointer ()
 
const char * GetPointer () const
 
char * GetShortPointer ()
 
const char * GetShortPointer () const
 
Ssiz_t GetShortSize () const
 
UInt_t HashCase () const
 Return a case-sensitive hash value (endian independent).
 
UInt_t HashFoldCase () const
 Return a case-insensitive hash value (endian independent).
 
char * Init (Ssiz_t capacity, Ssiz_t nchar)
 Private member function returning an empty string representation of size capacity and containing nchar characters.
 
Bool_t IsLong () const
 
void SetLongCap (Ssiz_t s)
 
void SetLongPointer (char *p)
 
void SetLongSize (Ssiz_t s)
 
void SetShortSize (Ssiz_t s)
 
void SetSize (Ssiz_t s)
 
void UnLink () const
 
void Zero ()
 

Static Private Member Functions

static Ssiz_t MaxSize ()
 

Friends

TString operator+ (char c, const TString &s)
 Add string to char.
 
TString operator+ (const char *cs, const TString &s)
 Use the special concatenation constructor.
 
TString operator+ (const TString &s, char c)
 Add char to string.
 
TString operator+ (const TString &s, const char *cs)
 Use the special concatenation constructor.
 
TString operator+ (const TString &s1, const TString &s2)
 Use the special concatenation constructor.
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type operator+ (T f, const TString &s)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::type operator+ (T i, const TString &s)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type operator+ (T u, const TString &s)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type operator+ (TString s, T f)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::type operator+ (TString s, T i)
 
template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type operator+ (TString s, T u)
 
TBufferoperator<< (TBuffer &b, const TString *obj)
 Write TString or derived to TBuffer.
 
Bool_t operator== (const TString &s1, const char *s2)
 Compare TString with a char *.
 
Bool_t operator== (const TString &s1, const TString &s2)
 
class TBufferFile
 
class TStringLong
 
class TSubString
 

#include <TString.h>

Inheritance diagram for TString:
[legend]

Member Typedef Documentation

◆ size_type

Definition at line 281 of file TString.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
kShortMask 
kLongMask 

Definition at line 185 of file TString.h.

◆ anonymous enum

anonymous enum
private

Definition at line 195 of file TString.h.

◆ anonymous enum

anonymous enum
private
Enumerator
kNwords 

Definition at line 206 of file TString.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
kAlignment 

Definition at line 234 of file TString.h.

◆ ECaseCompare

Enumerator
kExact 
kIgnoreCase 

Definition at line 279 of file TString.h.

◆ EStripType

Enumerator
kLeading 
kTrailing 
kBoth 

Definition at line 278 of file TString.h.

Constructor & Destructor Documentation

◆ TString() [1/12]

TString::TString ( const char *  a1,
Ssiz_t  n1,
const char *  a2,
Ssiz_t  n2 
)
protected

String data.

Special constructor to initialize with the concatenation of a1 and a2.

Definition at line 223 of file TString.cxx.

◆ TString() [2/12]

TString::TString ( )

TString default ctor.

Definition at line 87 of file TString.cxx.

◆ TString() [3/12]

TString::TString ( Ssiz_t  ic)
explicit

Create TString able to contain ic characters.

Definition at line 95 of file TString.cxx.

◆ TString() [4/12]

TString::TString ( const TString s)

Copy constructor.

Definition at line 179 of file TString.cxx.

◆ TString() [5/12]

TString::TString ( TString &&  s)
noexcept

Move constructor.

Definition at line 193 of file TString.cxx.

◆ TString() [6/12]

TString::TString ( const char *  s)

Create TString and initialize it with string cs.

Definition at line 103 of file TString.cxx.

◆ TString() [7/12]

TString::TString ( const char *  s,
Ssiz_t  n 
)

Create TString and initialize it with the first n characters of cs.

Definition at line 126 of file TString.cxx.

◆ TString() [8/12]

TString::TString ( const std::string &  s)

Create TString and initialize it with string cs.

Definition at line 116 of file TString.cxx.

◆ TString() [9/12]

TString::TString ( char  c)

Initialize a string with a single character.

Definition at line 157 of file TString.cxx.

◆ TString() [10/12]

TString::TString ( char  c,
Ssiz_t  s 
)

Initialize the first n locations of a TString with character c.

Definition at line 165 of file TString.cxx.

◆ TString() [11/12]

TString::TString ( const std::string_view &  sub)
explicit

Copy a std::string_view in a TString.

Definition at line 203 of file TString.cxx.

◆ TString() [12/12]

TString::TString ( const TSubString sub)

Copy a TSubString in a TString.

Definition at line 213 of file TString.cxx.

◆ ~TString()

TString::~TString ( )
virtual

Delete a TString.

Definition at line 251 of file TString.cxx.

Member Function Documentation

◆ AdjustCapacity()

Ssiz_t TString::AdjustCapacity ( Ssiz_t  oldCap,
Ssiz_t  newCap 
)
staticprotected

Calculate a nice capacity greater than or equal to newCap.

Warning
Fatal() is raised if newCap > MaxSize()
Returns
Resulting recommended capacity (after clamping, if needed)

Definition at line 1220 of file TString.cxx.

◆ Align()

static Ssiz_t TString::Align ( Ssiz_t  s)
inlinestaticprotected

Definition at line 235 of file TString.h.

◆ Append() [1/5]

TString & TString::Append ( char  c,
Ssiz_t  rep = 1 
)

Append character c rep times to string.

Warning
If length+rep exceeds MaxSize(), then Fatal() is raised and only MaxSize()-length elements are added

Definition at line 397 of file TString.cxx.

◆ Append() [2/5]

TString & TString::Append ( const char *  cs)
inline

Definition at line 574 of file TString.h.

◆ Append() [3/5]

TString & TString::Append ( const char *  cs,
Ssiz_t  n 
)
inline

Definition at line 577 of file TString.h.

◆ Append() [4/5]

TString & TString::Append ( const TString s)
inline

Definition at line 580 of file TString.h.

◆ Append() [5/5]

TString & TString::Append ( const TString s,
Ssiz_t  n 
)
inline

Definition at line 583 of file TString.h.

◆ AssertElement()

void TString::AssertElement ( Ssiz_t  nc) const
protected

Check to make sure a string index is in range.

Definition at line 1208 of file TString.cxx.

◆ Atof()

Double_t TString::Atof ( ) const

Return floating-point value contained in string.

Examples of valid strings are:

64320
64 320
6 4 3 2 0
6.4320 6,4320
6.43e20 6.43E20 6,43e20
6.43e-20 6.43E-20 6,43e-20
#define e(i)
Definition RSha256.hxx:103

Definition at line 2054 of file TString.cxx.

◆ Atoi()

Int_t TString::Atoi ( ) const

Return integer value of string.

Valid strings include only digits and whitespace (see IsDigit()), i.e. "123456", "123 456" and "1 2 3 4 56" are all valid integer strings whose Atoi() value is 123456.

Definition at line 1988 of file TString.cxx.

◆ Atoll()

Long64_t TString::Atoll ( ) const

Return long long value of string.

Valid strings include only digits and whitespace (see IsDigit()), i.e. "123456", "123 456" and "1 2 3 4 56" are all valid integer strings whose Atoll() value is 123456.

Definition at line 2014 of file TString.cxx.

◆ BaseConvert()

TString TString::BaseConvert ( const TString s_in,
Int_t  base_in,
Int_t  base_out 
)
static

Converts string from base base_in to base base_out.

Supported bases are 2-36. At most 64 bit data can be converted.

Definition at line 2194 of file TString.cxx.

◆ BeginsWith() [1/2]

Bool_t TString::BeginsWith ( const char *  s,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 625 of file TString.h.

◆ BeginsWith() [2/2]

Bool_t TString::BeginsWith ( const TString pat,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 628 of file TString.h.

◆ Capacity() [1/2]

Ssiz_t TString::Capacity ( ) const
inline

Definition at line 366 of file TString.h.

◆ Capacity() [2/2]

Ssiz_t TString::Capacity ( Ssiz_t  nc)

Return string capacity.

If nc != current capacity Clone() the string in a string with the desired capacity.

Definition at line 442 of file TString.cxx.

◆ Chop()

TString & TString::Chop ( )
inline

Definition at line 693 of file TString.h.

◆ Class()

static TClass * TString::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TString::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TString::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 475 of file TString.h.

◆ Clear()

void TString::Clear ( )

Clear string without changing its capacity.

Definition at line 1235 of file TString.cxx.

◆ Clobber()

Ssiz_t TString::Clobber ( Ssiz_t  nc)
protected

Clear string and make sure it has a capacity of nc.

Warning
If nc > MaxSize(), then Fatal() is raised, and only MaxSize() elements are allocated if Fatal does not abort
Returns
Resulting allocated capacity (after clamping, if needed)

Definition at line 1246 of file TString.cxx.

◆ Clone()

void TString::Clone ( Ssiz_t  tot)
private

Make self a distinct copy with capacity of at least tot, where tot cannot be smaller than the current length.

Preserve previous contents.

Warning
If tot > MaxSize(), then Fatal() is raised and only MaxSize() elements are allocated

Definition at line 1279 of file TString.cxx.

◆ CompareTo() [1/2]

int TString::CompareTo ( const char *  cs2,
ECaseCompare  cmp = kExact 
) const

Compare a string to char *cs2.

Returns returns zero if the two strings are identical, otherwise returns the difference between the first two differing bytes (treated as unsigned char values, so that ‘\200’ is greater than ‘\0’, for example). Zero-length strings are always identical.

Definition at line 457 of file TString.cxx.

◆ CompareTo() [2/2]

int TString::CompareTo ( const TString str,
ECaseCompare  cmp = kExact 
) const

Compare a string to another string.

Returns returns zero if the two strings are identical, otherwise returns the difference between the first two differing bytes (treated as unsigned char values, so that ‘\200’ is greater than ‘\0’, for example). Zero-length strings are always identical.

Definition at line 487 of file TString.cxx.

◆ Contains() [1/4]

Bool_t TString::Contains ( const char *  pat,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 634 of file TString.h.

◆ Contains() [2/4]

Bool_t TString::Contains ( const TRegexp pat) const
inline

Returns whether the string matches the input TRegexp.

Warning
Matching regular expressions of type ".?" is not supported. Use std::regex instead.

Definition at line 641 of file TString.h.

◆ Contains() [3/4]

Bool_t TString::Contains ( const TString pat,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 631 of file TString.h.

◆ Contains() [4/4]

Bool_t TString::Contains ( TPRegexp pat) const
inline

Definition at line 644 of file TString.h.

◆ Copy()

TString TString::Copy ( ) const

Copy a string.

Definition at line 529 of file TString.cxx.

◆ CountChar()

Int_t TString::CountChar ( Int_t  c) const

Return number of times character c occurs in the string.

Definition at line 515 of file TString.cxx.

◆ Data()

const char * TString::Data ( ) const
inline

Definition at line 378 of file TString.h.

◆ DeclFileName()

static const char * TString::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 475 of file TString.h.

◆ EndsWith()

Bool_t TString::EndsWith ( const char *  pat,
ECaseCompare  cmp = kExact 
) const

Return true if string ends with the specified string.

Definition at line 2244 of file TString.cxx.

◆ EqualTo() [1/2]

Bool_t TString::EqualTo ( const char *  cs,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 647 of file TString.h.

◆ EqualTo() [2/2]

Bool_t TString::EqualTo ( const TString st,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 650 of file TString.h.

◆ FillBuffer()

void TString::FillBuffer ( char *&  buffer) const
virtual

Copy string into I/O buffer.

Reimplemented in TStringLong.

Definition at line 1310 of file TString.cxx.

◆ First() [1/2]

Ssiz_t TString::First ( char  c) const

Find first occurrence of a character c.

Definition at line 538 of file TString.cxx.

◆ First() [2/2]

Ssiz_t TString::First ( const char *  cs) const

Find first occurrence of a character in cs.

Definition at line 547 of file TString.cxx.

◆ Form()

void TString::Form ( const char *  fmt,
  ... 
)

Formats a string using a printf style format descriptor.

Existing string contents will be overwritten. See also the static version TString::Format

TString formatted;
formatted.Form("%s in <%s>: %s", type, location, msg);
lines.emplace_back(TString::Format("Welcome to ROOT %s%%shttp://root.cern",
gROOT->GetVersion()));
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
#define gROOT
Definition TROOT.h:406
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Definition TString.cxx:2378
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Definition TString.cxx:2356

Note: this is not to be confused with Format and Form (in the global namespace) which returns a const char* and relies on a thread-local static character buffer.

Definition at line 2356 of file TString.cxx.

◆ Format()

TString TString::Format ( const char *  fmt,
  ... 
)
static

Static method which formats a string using a printf style format descriptor and return a TString.

Similar to TString::Form() but it is not needed to first create a TString.

lines.emplace_back(TString::Format("Welcome to ROOT %s%%shttp://root.cern",
gROOT->GetVersion()));
TString formatted;
formatted.Form("%s in <%s>: %s", type, location, msg);

Note: this is not to be confused with Format and Form (in the global namespace) which returns a const char* and relies on a thread-local static character buffer.

Definition at line 2378 of file TString.cxx.

◆ FormImp()

void TString::FormImp ( const char *  fmt,
va_list  ap 
)
private

Formats a string using a printf style format descriptor.

Existing string contents will be overwritten.

Definition at line 2310 of file TString.cxx.

◆ GetInitialCapacity()

Ssiz_t TString::GetInitialCapacity ( )
static

Definition at line 1568 of file TString.cxx.

◆ GetLongCap()

Ssiz_t TString::GetLongCap ( ) const
inlineprivate

Definition at line 252 of file TString.h.

◆ GetLongPointer() [1/2]

char * TString::GetLongPointer ( )
inlineprivate

Definition at line 254 of file TString.h.

◆ GetLongPointer() [2/2]

const char * TString::GetLongPointer ( ) const
inlineprivate

Definition at line 255 of file TString.h.

◆ GetLongSize()

Ssiz_t TString::GetLongSize ( ) const
inlineprivate

Definition at line 249 of file TString.h.

◆ GetMaxWaste()

Ssiz_t TString::GetMaxWaste ( )
static

Definition at line 1584 of file TString.cxx.

◆ GetPointer() [1/2]

char * TString::GetPointer ( )
inlineprivate

Definition at line 258 of file TString.h.

◆ GetPointer() [2/2]

const char * TString::GetPointer ( ) const
inlineprivate

Definition at line 259 of file TString.h.

◆ GetResizeIncrement()

Ssiz_t TString::GetResizeIncrement ( )
static

Definition at line 1576 of file TString.cxx.

◆ Gets()

Bool_t TString::Gets ( FILE *  fp,
Bool_t  chop = kTRUE 
)

Read one line from the stream, including the \n, or until EOF.

Remove the trailing [\r]\n if chop is true. Returns kTRUE if data was read.

Definition at line 204 of file Stringio.cxx.

◆ GetShortPointer() [1/2]

char * TString::GetShortPointer ( )
inlineprivate

Definition at line 256 of file TString.h.

◆ GetShortPointer() [2/2]

const char * TString::GetShortPointer ( ) const
inlineprivate

Definition at line 257 of file TString.h.

◆ GetShortSize()

Ssiz_t TString::GetShortSize ( ) const
inlineprivate

Definition at line 246 of file TString.h.

◆ Hash() [1/2]

UInt_t TString::Hash ( const void *  txt,
Int_t  ntxt 
)
static

Calculates hash index from any char string.

(static function)

  • For string: i = TString::Hash(string,nstring);
  • For int: i = TString::Hash(&intword,sizeof(int));
  • For pointer: i = TString::Hash(&pointer,sizeof(void*));

This employs two different hash functions, depending on ntxt:

Definition at line 850 of file TString.cxx.

◆ Hash() [2/2]

UInt_t TString::Hash ( ECaseCompare  cmp = kExact) const

Return hash value.

Definition at line 677 of file TString.cxx.

◆ HashCase()

UInt_t TString::HashCase ( ) const
private

Return a case-sensitive hash value (endian independent).

Definition at line 633 of file TString.cxx.

◆ HashFoldCase()

UInt_t TString::HashFoldCase ( ) const
private

Return a case-insensitive hash value (endian independent).

Definition at line 662 of file TString.cxx.

◆ Index() [1/8]

Ssiz_t TString::Index ( const char *  pat,
Ssiz_t  i = 0,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 653 of file TString.h.

◆ Index() [2/8]

Ssiz_t TString::Index ( const char *  pattern,
Ssiz_t  plen,
Ssiz_t  startIndex,
ECaseCompare  cmp 
) const

Search for a string in the TString.

Plen is the length of pattern, startIndex is the index from which to start and cmp selects the type of case-comparison.

Definition at line 901 of file TString.cxx.

◆ Index() [3/8]

Ssiz_t TString::Index ( const TRegexp r,
Ssiz_t extent,
Ssiz_t  start = 0 
) const

Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.

Extent is length of the matched string and start is the offset at which the matching should start. Please, see the Warning in the class documentation above.

Definition at line 267 of file TRegexp.cxx.

◆ Index() [4/8]

Ssiz_t TString::Index ( const TRegexp r,
Ssiz_t  start = 0 
) const

Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.

Start is the offset at which the search should start. Please, see the Warning in the class documentation above.

Definition at line 255 of file TRegexp.cxx.

◆ Index() [5/8]

Ssiz_t TString::Index ( const TString s,
Ssiz_t  i = 0,
ECaseCompare  cmp = kExact 
) const
inline

Definition at line 656 of file TString.h.

◆ Index() [6/8]

Ssiz_t TString::Index ( const TString s,
Ssiz_t  patlen,
Ssiz_t  i,
ECaseCompare  cmp 
) const
inline

Definition at line 659 of file TString.h.

◆ Index() [7/8]

Ssiz_t TString::Index ( TPRegexp r,
Ssiz_t extent,
Ssiz_t  start = 0 
) const

Find the first occurrence of the regexp in string and return the position.

Extent is length of the matched string and start is the offset at which the matching should start.

Definition at line 537 of file TPRegexp.cxx.

◆ Index() [8/8]

Ssiz_t TString::Index ( TPRegexp r,
Ssiz_t  start = 0 
) const

Find the first occurrence of the regexp in string and return the position.

Start is the offset at which the search should start.

Definition at line 522 of file TPRegexp.cxx.

◆ Init()

char * TString::Init ( Ssiz_t  capacity,
Ssiz_t  nchar 
)
private

Private member function returning an empty string representation of size capacity and containing nchar characters.

Warning
If nchar > MaxSize(), then Fatal() is raised and only MaxSize() elements are allocated

Definition at line 261 of file TString.cxx.

◆ InitChar()

void TString::InitChar ( char  c)
protected

Initialize a string with a single character.

Definition at line 148 of file TString.cxx.

◆ InitialCapacity()

Ssiz_t TString::InitialCapacity ( Ssiz_t  ic = 15)
static

Set default initial capacity for all TStrings. Default is 15.

Definition at line 1593 of file TString.cxx.

◆ Insert() [1/4]

TString & TString::Insert ( Ssiz_t  pos,
const char *  s 
)
inline

Definition at line 663 of file TString.h.

◆ Insert() [2/4]

TString & TString::Insert ( Ssiz_t  pos,
const char *  s,
Ssiz_t  extent 
)
inline

Definition at line 666 of file TString.h.

◆ Insert() [3/4]

TString & TString::Insert ( Ssiz_t  pos,
const TString s 
)
inline

Definition at line 669 of file TString.h.

◆ Insert() [4/4]

TString & TString::Insert ( Ssiz_t  pos,
const TString s,
Ssiz_t  extent 
)
inline

Definition at line 672 of file TString.h.

◆ IsA()

virtual TClass * TString::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Reimplemented in TStringToken, TStringLong, TEveException, TGString, and TGHotString.

Definition at line 475 of file TString.h.

◆ IsAlnum()

Bool_t TString::IsAlnum ( ) const

Returns true if all characters in string are alphanumeric.

Returns false in case string length is 0.

Definition at line 1813 of file TString.cxx.

◆ IsAlpha()

Bool_t TString::IsAlpha ( ) const

Returns true if all characters in string are alphabetic.

Returns false in case string length is 0.

Definition at line 1798 of file TString.cxx.

◆ IsAscii()

Bool_t TString::IsAscii ( ) const

Returns true if all characters in string are ascii.

Definition at line 1785 of file TString.cxx.

◆ IsBin()

Bool_t TString::IsBin ( ) const

Returns true if all characters in string are binary digits (0,1).

Returns false in case string length is 0 or string contains other characters.

Definition at line 1908 of file TString.cxx.

◆ IsDec()

Bool_t TString::IsDec ( ) const

Returns true if all characters in string are decimal digits (0-9).

Returns false in case string length is 0 or string contains other characters.

Definition at line 1940 of file TString.cxx.

◆ IsDigit()

Bool_t TString::IsDigit ( ) const

Returns true if all characters in string are digits (0-9) or white spaces, i.e.

"123456" and "123 456" are both valid integer strings. Returns false in case string length is 0 or string contains other characters or only whitespace.

Definition at line 1830 of file TString.cxx.

◆ IsFloat()

Bool_t TString::IsFloat ( ) const

Returns kTRUE if string contains a floating point or integer number.

Examples of valid formats are:

64320
64 320
6 4 3 2 0
6.4320 6,4320
6.43e20 6.43E20 6,43e20
6.43e-20 6.43E-20 6,43e-20, -6.43e+20

Definition at line 1858 of file TString.cxx.

◆ IsHex()

Bool_t TString::IsHex ( ) const

Returns true if all characters in string are hexadecimal digits (0-9,a-f,A-F).

Returns false in case string length is 0 or string contains other characters.

Definition at line 1892 of file TString.cxx.

◆ IsInBaseN()

Bool_t TString::IsInBaseN ( Int_t  base) const

Returns true if all characters in string are expressed in the base specified (range=2-36), i.e.

{0,1} for base 2, {0-9,a-f,A-F} for base 16, {0-9,a-z,A-Z} for base 36. Returns false in case string length is 0 or string contains other characters.

Definition at line 1957 of file TString.cxx.

◆ IsLong()

Bool_t TString::IsLong ( ) const
inlineprivate

Definition at line 240 of file TString.h.

◆ IsNull()

Bool_t TString::IsNull ( ) const
inline

Definition at line 416 of file TString.h.

◆ IsOct()

Bool_t TString::IsOct ( ) const

Returns true if all characters in string are octal digits (0-7).

Returns false in case string length is 0 or string contains other characters.

Definition at line 1924 of file TString.cxx.

◆ IsWhitespace()

Bool_t TString::IsWhitespace ( ) const
inline

Definition at line 417 of file TString.h.

◆ Itoa()

TString TString::Itoa ( Int_t  value,
Int_t  base 
)
static

Converts an Int_t to a TString with respect to the base specified (2-36).

Thus it is an enhanced version of sprintf (adapted from versions 0.4 of http://www.jb.man.ac.uk/~slowe/cpp/itoa.html). Usage: the following statement produce the same output, namely "1111"

std::cout << TString::Itoa(15,2) ;
std::cout << TString::Itoa(0xF,2) ; /// 0x prefix to handle hex
std::cout << TString::Itoa(017,2) ; /// 0 prefix to handle oct
static TString Itoa(Int_t value, Int_t base)
Converts an Int_t to a TString with respect to the base specified (2-36).
Definition TString.cxx:2092

In case of error returns the "!" string.

Definition at line 2092 of file TString.cxx.

◆ Last()

Ssiz_t TString::Last ( char  c) const

Find last occurrence of a character c.

Definition at line 931 of file TString.cxx.

◆ Length()

Ssiz_t TString::Length ( ) const
inline

Definition at line 419 of file TString.h.

◆ LLtoa()

TString TString::LLtoa ( Long64_t  value,
Int_t  base 
)
static

Converts a Long64_t to a TString with respect to the base specified (2-36).

Thus it is an enhanced version of sprintf (adapted from versions 0.4 of http://www.jb.man.ac.uk/~slowe/cpp/itoa.html). In case of error returns the "!" string.

Definition at line 2144 of file TString.cxx.

◆ MaxSize()

static Ssiz_t TString::MaxSize ( )
inlinestaticprivate

Definition at line 263 of file TString.h.

◆ MaxWaste()

Ssiz_t TString::MaxWaste ( Ssiz_t  mw = 15)
static

Set maximum space that may be wasted in a string before doing a resize.

Default is 15.

Definition at line 1612 of file TString.cxx.

◆ MaybeRegexp()

Bool_t TString::MaybeRegexp ( ) const

Returns true if string contains one of the regexp characters "^$.[]*+?".

Definition at line 952 of file TString.cxx.

◆ MaybeWildcard()

Bool_t TString::MaybeWildcard ( ) const

Returns true if string contains one of the wildcard characters "[]*?".

Definition at line 964 of file TString.cxx.

◆ MD5()

TString TString::MD5 ( ) const

Return the MD5 digest for this string, in a string representation.

Definition at line 940 of file TString.cxx.

◆ operator const char *()

TString::operator const char * ( ) const
inline

Definition at line 312 of file TString.h.

◆ operator()() [1/7]

TSubString TString::operator() ( const TRegexp re) const

Return the substring found by applying the regexp.

Definition at line 286 of file TRegexp.cxx.

◆ operator()() [2/7]

TSubString TString::operator() ( const TRegexp r,
Ssiz_t  start 
) const

Return the substring found by applying the regexp starting at start.

Please, see the Warning in the class documentation above.

Definition at line 276 of file TRegexp.cxx.

◆ operator()() [3/7]

char & TString::operator() ( Ssiz_t  i)
inline

Definition at line 728 of file TString.h.

◆ operator()() [4/7]

char TString::operator() ( Ssiz_t  i) const
inline

Definition at line 731 of file TString.h.

◆ operator()() [5/7]

TSubString TString::operator() ( Ssiz_t  start,
Ssiz_t  len 
) const

Return sub-string of string starting at start with length len.

Definition at line 1639 of file TString.cxx.

◆ operator()() [6/7]

TSubString TString::operator() ( TPRegexp re) const

Return the substring found by applying the regexp.

Definition at line 563 of file TPRegexp.cxx.

◆ operator()() [7/7]

TSubString TString::operator() ( TPRegexp re,
Ssiz_t  start 
) const

Return the substring found by applying the regexp starting at start.

Definition at line 553 of file TPRegexp.cxx.

◆ operator+=() [1/6]

TString & TString::operator+= ( char  c)
inline

Definition at line 592 of file TString.h.

◆ operator+=() [2/6]

TString & TString::operator+= ( const char *  s)
inline

Definition at line 586 of file TString.h.

◆ operator+=() [3/6]

TString & TString::operator+= ( const TString s)
inline

Definition at line 589 of file TString.h.

◆ operator+=() [4/6]

template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type & TString::operator+= ( f)

◆ operator+=() [5/6]

template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type & TString::operator+= ( i)
inline

Definition at line 597 of file TString.h.

◆ operator+=() [6/6]

template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type & TString::operator+= ( u)

◆ operator=() [1/7]

TString & TString::operator= ( char  s)

Assign character c to TString.

Definition at line 301 of file TString.cxx.

◆ operator=() [2/7]

TString & TString::operator= ( const char *  s)

Assign string cs to TString.

Definition at line 314 of file TString.cxx.

◆ operator=() [3/7]

TString & TString::operator= ( const std::string &  s)

Assign std::string s to TString.

Definition at line 327 of file TString.cxx.

◆ operator=() [4/7]

TString & TString::operator= ( const std::string_view &  s)

Assign std::string s to TString.

Definition at line 340 of file TString.cxx.

◆ operator=() [5/7]

TString & TString::operator= ( const TString s)

Assignment operator.

Definition at line 353 of file TString.cxx.

◆ operator=() [6/7]

TString & TString::operator= ( const TSubString s)

Assign a TSubString substr to TString.

Definition at line 382 of file TString.cxx.

◆ operator=() [7/7]

TString & TString::operator= ( TString &&  s)
noexcept

Move-Assignment operator.

Definition at line 371 of file TString.cxx.

◆ operator[]() [1/2]

char & TString::operator[] ( Ssiz_t  i)
inline

Definition at line 734 of file TString.h.

◆ operator[]() [2/2]

char TString::operator[] ( Ssiz_t  i) const
inline

Definition at line 737 of file TString.h.

◆ Prepend() [1/5]

TString & TString::Prepend ( char  c,
Ssiz_t  rep = 1 
)

Prepend character c rep times to string.

Warning
If length+rep exceeds MaxSize(), then Fatal() is raised and only MaxSize()-length elements are added

Definition at line 977 of file TString.cxx.

◆ Prepend() [2/5]

TString & TString::Prepend ( const char *  cs)
inline

Definition at line 675 of file TString.h.

◆ Prepend() [3/5]

TString & TString::Prepend ( const char *  cs,
Ssiz_t  n 
)
inline

Definition at line 678 of file TString.h.

◆ Prepend() [4/5]

TString & TString::Prepend ( const TString s)
inline

Definition at line 681 of file TString.h.

◆ Prepend() [5/5]

TString & TString::Prepend ( const TString s,
Ssiz_t  n 
)
inline

Definition at line 684 of file TString.h.

◆ Puts()

void TString::Puts ( FILE *  fp)

Write string to the stream.

Definition at line 229 of file Stringio.cxx.

◆ ReadBuffer()

void TString::ReadBuffer ( char *&  buffer)
virtual

Read string from I/O buffer.

Reimplemented in TStringLong.

Definition at line 1331 of file TString.cxx.

◆ ReadFile()

std::istream & TString::ReadFile ( std::istream &  str)

Replace string with the contents of strm, stopping at an EOF.

Definition at line 29 of file Stringio.cxx.

◆ ReadLine()

std::istream & TString::ReadLine ( std::istream &  str,
Bool_t  skipWhite = kTRUE 
)

Read a line from stream upto newline skipping any whitespace.

Definition at line 71 of file Stringio.cxx.

◆ ReadString() [1/2]

std::istream & TString::ReadString ( std::istream &  str)

Read a line from stream upto \0, including any newline.

Definition at line 82 of file Stringio.cxx.

◆ ReadString() [2/2]

TString * TString::ReadString ( TBuffer b,
const TClass clReq 
)
static

Read TString object from buffer.

Simplified version of TBuffer::ReadObject (does not keep track of multiple references to same string). We need to have it here because TBuffer::ReadObject can only handle descendant of TObject.

Definition at line 1362 of file TString.cxx.

◆ ReadToDelim()

std::istream & TString::ReadToDelim ( std::istream &  strm,
char  delim = '\n' 
)

Read up to an EOF, or a delimiting character, whichever comes first.

The delimiter is not stored in the string, but is removed from the input stream. Because we don't know how big a string to expect, we first read as much as we can and then, if the EOF or null hasn't been encountered, do a resize and keep reading.

Definition at line 95 of file Stringio.cxx.

◆ ReadToken()

std::istream & TString::ReadToken ( std::istream &  str)

Read a token, delimited by whitespace, from the input stream.

Definition at line 133 of file Stringio.cxx.

◆ Recommend()

static Ssiz_t TString::Recommend ( Ssiz_t  s)
inlinestaticprotected

Definition at line 236 of file TString.h.

◆ Remove() [1/3]

TString & TString::Remove ( EStripType  s,
char  c 
)

Remove char c at begin and/or end of string (like Strip()) but modifies directly the string.

Definition at line 1124 of file TString.cxx.

◆ Remove() [2/3]

TString & TString::Remove ( Ssiz_t  pos)
inline

Definition at line 687 of file TString.h.

◆ Remove() [3/3]

TString & TString::Remove ( Ssiz_t  pos,
Ssiz_t  n 
)
inline

Definition at line 690 of file TString.h.

◆ Replace() [1/4]

TString & TString::Replace ( Ssiz_t  pos,
Ssiz_t  n,
const char *  s 
)
inline

Definition at line 696 of file TString.h.

◆ Replace() [2/4]

TString & TString::Replace ( Ssiz_t  pos,
Ssiz_t  n,
const char *  s,
Ssiz_t  ns 
)

Remove at most n1 characters from self beginning at pos, and replace them with the first n2 characters of cs.

Definition at line 1019 of file TString.cxx.

◆ Replace() [3/4]

TString & TString::Replace ( Ssiz_t  pos,
Ssiz_t  n,
const TString s 
)
inline

Definition at line 699 of file TString.h.

◆ Replace() [4/4]

TString & TString::Replace ( Ssiz_t  pos,
Ssiz_t  n1,
const TString s,
Ssiz_t  n2 
)
inline

Definition at line 702 of file TString.h.

◆ ReplaceAll() [1/5]

TString & TString::ReplaceAll ( const char *  s1,
const char *  s2 
)
inline

Definition at line 715 of file TString.h.

◆ ReplaceAll() [2/5]

TString & TString::ReplaceAll ( const char *  s1,
const TString s2 
)
inline

Definition at line 712 of file TString.h.

◆ ReplaceAll() [3/5]

TString & TString::ReplaceAll ( const char *  s1,
Ssiz_t  ls1,
const char *  s2,
Ssiz_t  ls2 
)

Find & Replace ls1 symbols of s1 with ls2 symbols of s2 if any.

Definition at line 1095 of file TString.cxx.

◆ ReplaceAll() [4/5]

TString & TString::ReplaceAll ( const TString s1,
const char *  s2 
)
inline

Definition at line 709 of file TString.h.

◆ ReplaceAll() [5/5]

TString & TString::ReplaceAll ( const TString s1,
const TString s2 
)
inline

Definition at line 706 of file TString.h.

◆ ReplaceSpecialCppChars()

TString & TString::ReplaceSpecialCppChars ( )

Find special characters which are typically used in printf() calls and replace them by appropriate escape sequences.

Result can be stored as string argument in ROOT macros. The content of TString will be changed!

Definition at line 1114 of file TString.cxx.

◆ Resize()

void TString::Resize ( Ssiz_t  n)

Resize the string. Truncate or add blanks as necessary.

Definition at line 1152 of file TString.cxx.

◆ ResizeIncrement()

Ssiz_t TString::ResizeIncrement ( Ssiz_t  ri = 16)
static

Set default resize increment for all TStrings. Default is 16.

Definition at line 1602 of file TString.cxx.

◆ SetLongCap()

void TString::SetLongCap ( Ssiz_t  s)
inlineprivate

Definition at line 251 of file TString.h.

◆ SetLongPointer()

void TString::SetLongPointer ( char *  p)
inlineprivate

Definition at line 253 of file TString.h.

◆ SetLongSize()

void TString::SetLongSize ( Ssiz_t  s)
inlineprivate

Definition at line 248 of file TString.h.

◆ SetShortSize()

void TString::SetShortSize ( Ssiz_t  s)
inlineprivate

Definition at line 245 of file TString.h.

◆ SetSize()

void TString::SetSize ( Ssiz_t  s)
inlineprivate

Definition at line 250 of file TString.h.

◆ Sizeof()

Int_t TString::Sizeof ( ) const
virtual

Returns size string will occupy on I/O buffer.

Reimplemented in TStringLong.

Definition at line 1401 of file TString.cxx.

◆ Streamer()

void TString::Streamer ( TBuffer b)
virtual

Stream a string object.

Reimplemented in TStringToken, TStringLong, TEveException, TGString, and TGHotString.

Definition at line 1412 of file TString.cxx.

◆ StreamerNVirtual()

void TString::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 475 of file TString.h.

◆ Strip()

TSubString TString::Strip ( EStripType  s = kTrailing,
char  c = ' ' 
) const

Return a substring of self stripped at beginning and/or end.

Definition at line 1163 of file TString.cxx.

◆ SubString()

TSubString TString::SubString ( const char *  pattern,
Ssiz_t  startIndex = 0,
ECaseCompare  cmp = kExact 
) const

Returns a substring matching "pattern", or the null substring if there is no such match.

It would be nice if this could be yet another overloaded version of operator(), but this would result in a type conversion ambiguity with operator(Ssiz_t, Ssiz_t).

Definition at line 1657 of file TString.cxx.

◆ Swap()

TString & TString::Swap ( TString other)
inline

Definition at line 718 of file TString.h.

◆ Tokenize() [1/2]

TObjArray * TString::Tokenize ( const TString delim) const

This function is used to isolate sequential tokens in a TString.

These tokens are separated in the string by at least one of the characters in delim. The returned array contains the tokens as TObjString's. The returned array is the owner of the objects, and must be deleted by the user.

Definition at line 2264 of file TString.cxx.

◆ Tokenize() [2/2]

Bool_t TString::Tokenize ( TString tok,
Ssiz_t from,
const char *  delim = " " 
) const

Search for tokens delimited by regular expression 'delim' (default " ") in this string; search starts at 'from' and the token is returned in 'tok'.

Returns in 'from' the next position after the delimiter. Returns kTRUE if a token is found, kFALSE if not or if some inconsistency occurred. This method allows to loop over tokens in this way:

TString myl = "tok1 tok2|tok3";
TString tok;
Ssiz_t from = 0;
while (myl.Tokenize(tok, from, "[ |]")) {
// Analyse tok
...
}
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
Definition TString.cxx:2264

more convenient of the other Tokenize method when saving the tokens is not needed.

Definition at line 310 of file TRegexp.cxx.

◆ ToLower()

void TString::ToLower ( )

Change string to lower-case.

Definition at line 1182 of file TString.cxx.

◆ ToUpper()

void TString::ToUpper ( )

Change string to upper case.

Definition at line 1195 of file TString.cxx.

◆ UItoa()

TString TString::UItoa ( UInt_t  value,
Int_t  base 
)
static

Converts a UInt_t (twice the range of an Int_t) to a TString with respect to the base specified (2-36).

Thus it is an enhanced version of sprintf (adapted from versions 0.4 of http://www.jb.man.ac.uk/~slowe/cpp/itoa.html). In case of error returns the "!" string.

Definition at line 2119 of file TString.cxx.

◆ ULLtoa()

TString TString::ULLtoa ( ULong64_t  value,
Int_t  base 
)
static

Converts a ULong64_t (twice the range of an Long64_t) to a TString with respect to the base specified (2-36).

Thus it is an enhanced version of sprintf (adapted from versions 0.4 of http://www.jb.man.ac.uk/~slowe/cpp/itoa.html). In case of error returns the "!" string.

Definition at line 2171 of file TString.cxx.

◆ UnLink()

void TString::UnLink ( ) const
inlineprivate

Definition at line 265 of file TString.h.

◆ View()

std::string_view TString::View ( ) const
inline

Definition at line 454 of file TString.h.

◆ WriteString()

void TString::WriteString ( TBuffer b,
const TString a 
)
static

Write TString object to buffer.

Simplified version of TBuffer::WriteObject (does not keep track of multiple references to the same string). We need to have it here because TBuffer::ReadObject can only handle descendant of TObject

Definition at line 1428 of file TString.cxx.

◆ Zero()

void TString::Zero ( )
inlineprivate

Definition at line 266 of file TString.h.

Friends And Related Symbol Documentation

◆ operator+ [1/11]

TString operator+ ( char  c,
const TString s 
)
friend

Add string to char.

Definition at line 1557 of file TString.cxx.

◆ operator+ [2/11]

TString operator+ ( const char *  cs,
const TString s 
)
friend

Use the special concatenation constructor.

Definition at line 1533 of file TString.cxx.

◆ operator+ [3/11]

TString operator+ ( const TString s,
char  c 
)
friend

Add char to string.

Definition at line 1549 of file TString.cxx.

◆ operator+ [4/11]

TString operator+ ( const TString s,
const char *  cs 
)
friend

Use the special concatenation constructor.

Definition at line 1525 of file TString.cxx.

◆ operator+ [5/11]

TString operator+ ( const TString s1,
const TString s2 
)
friend

Use the special concatenation constructor.

Definition at line 1541 of file TString.cxx.

◆ operator+ [6/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type operator+ ( f,
const TString s 
)
friend

Definition at line 546 of file TString.h.

◆ operator+ [7/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::type operator+ ( i,
const TString s 
)
friend

Definition at line 546 of file TString.h.

◆ operator+ [8/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type operator+ ( u,
const TString s 
)
friend

Definition at line 546 of file TString.h.

◆ operator+ [9/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type operator+ ( TString  s,
f 
)
friend

Definition at line 531 of file TString.h.

◆ operator+ [10/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::type operator+ ( TString  s,
i 
)
friend

Definition at line 531 of file TString.h.

◆ operator+ [11/11]

template<class T >
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type operator+ ( TString  s,
u 
)
friend

Definition at line 531 of file TString.h.

◆ operator<<

TBuffer & operator<< ( TBuffer b,
const TString obj 
)
friend

Write TString or derived to TBuffer.

Definition at line 1470 of file TString.cxx.

◆ operator== [1/2]

Bool_t operator== ( const TString s1,
const char *  s2 
)
friend

Compare TString with a char *.

Definition at line 1482 of file TString.cxx.

◆ operator== [2/2]

Bool_t operator== ( const TString s1,
const TString s2 
)
friend

Definition at line 771 of file TString.h.

◆ TBufferFile

friend class TBufferFile
friend

Definition at line 143 of file TString.h.

◆ TStringLong

friend class TStringLong
friend

Definition at line 141 of file TString.h.

◆ TSubString

friend class TSubString
friend

Definition at line 142 of file TString.h.

Member Data Documentation

◆ fRep

Rep_t TString::fRep
protected

Definition at line 225 of file TString.h.

◆ kNPOS

constexpr Ssiz_t TString::kNPOS = ::kNPOS
staticconstexpr

Definition at line 280 of file TString.h.

  • core/base/inc/TString.h
  • core/base/src/Stringio.cxx
  • core/base/src/TPRegexp.cxx
  • core/base/src/TRegexp.cxx
  • core/base/src/TString.cxx