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:
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. | |
TString & | Append (char c, Ssiz_t rep=1) |
Append character c rep times to string. | |
TString & | Append (const char *cs) |
TString & | Append (const char *cs, Ssiz_t n) |
TString & | Append (const TString &s) |
TString & | Append (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. | |
TString & | Chop () |
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. | |
TString & | Insert (Ssiz_t pos, const char *s) |
TString & | Insert (Ssiz_t pos, const char *s, Ssiz_t extent) |
TString & | Insert (Ssiz_t pos, const TString &s) |
TString & | Insert (Ssiz_t pos, const TString &s, Ssiz_t extent) |
virtual TClass * | IsA () 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. | |
TString & | operator+= (char c) |
TString & | operator+= (const char *s) |
TString & | operator+= (const TString &s) |
template<class T > | |
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type & | operator+= (T f) |
template<class T > | |
std::enable_if< ROOT::TypeTraits::IsSignedNumeral< T >::value, TString >::type & | operator+= (T i) |
template<class T > | |
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type & | operator+= (T u) |
TString & | operator= (char s) |
Assign character c to TString. | |
TString & | operator= (const char *s) |
Assign string cs to TString. | |
TString & | operator= (const std::string &s) |
Assign std::string s to TString. | |
TString & | operator= (const std::string_view &s) |
Assign std::string s to TString. | |
TString & | operator= (const TString &s) |
Assignment operator. | |
TString & | operator= (const TSubString &s) |
Assign a TSubString substr to TString. | |
TString & | operator= (TString &&s) noexcept |
Move-Assignment operator. | |
char & | operator[] (Ssiz_t i) |
char | operator[] (Ssiz_t i) const |
TString & | Prepend (char c, Ssiz_t rep=1) |
Prepend character c rep times to string. | |
TString & | Prepend (const char *cs) |
TString & | Prepend (const char *cs, Ssiz_t n) |
TString & | Prepend (const TString &s) |
TString & | Prepend (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. | |
TString & | Remove (EStripType s, char c) |
Remove char c at begin and/or end of string (like Strip()) but modifies directly the string. | |
TString & | Remove (Ssiz_t pos) |
TString & | Remove (Ssiz_t pos, Ssiz_t n) |
TString & | Replace (Ssiz_t pos, Ssiz_t n, const char *s) |
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. | |
TString & | Replace (Ssiz_t pos, Ssiz_t n, const TString &s) |
TString & | Replace (Ssiz_t pos, Ssiz_t n1, const TString &s, Ssiz_t n2) |
TString & | ReplaceAll (const char *s1, const char *s2) |
TString & | ReplaceAll (const char *s1, const TString &s2) |
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. | |
TString & | ReplaceAll (const TString &s1, const char *s2) |
TString & | ReplaceAll (const TString &s1, const TString &s2) |
TString & | ReplaceSpecialCppChars () |
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. | |
TString & | Swap (TString &other) |
TObjArray * | Tokenize (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 TClass * | Class () |
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 TString * | ReadString (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) |
TBuffer & | operator<< (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>
using TString::size_type = Ssiz_t |
enum TString::EStripType |
String data.
Special constructor to initialize with the concatenation of a1 and a2.
Definition at line 223 of file TString.cxx.
TString::TString | ( | ) |
TString default ctor.
Definition at line 87 of file TString.cxx.
|
explicit |
Create TString able to contain ic characters.
Definition at line 95 of file TString.cxx.
TString::TString | ( | const TString & | s | ) |
Copy constructor.
Definition at line 179 of file TString.cxx.
|
noexcept |
Move constructor.
Definition at line 193 of file TString.cxx.
TString::TString | ( | const char * | s | ) |
Create TString and initialize it with string cs.
Definition at line 103 of file TString.cxx.
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::TString | ( | const std::string & | s | ) |
Create TString and initialize it with string cs.
Definition at line 116 of file TString.cxx.
TString::TString | ( | char | c | ) |
Initialize a string with a single character.
Definition at line 157 of file TString.cxx.
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.
|
explicit |
Copy a std::string_view in a TString.
Definition at line 203 of file TString.cxx.
TString::TString | ( | const TSubString & | sub | ) |
Copy a TSubString in a TString.
Definition at line 213 of file TString.cxx.
|
virtual |
Delete a TString.
Definition at line 251 of file TString.cxx.
Calculate a nice capacity greater than or equal to newCap.
Definition at line 1220 of file TString.cxx.
Append character c rep times to string.
Definition at line 397 of file TString.cxx.
|
protected |
Check to make sure a string index is in range.
Definition at line 1208 of file TString.cxx.
Double_t TString::Atof | ( | ) | const |
Return floating-point value contained in string.
Examples of valid strings are:
Definition at line 2054 of file TString.cxx.
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.
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.
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.
|
inline |
|
inline |
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.
|
static |
|
inlinestaticconstexpr |
void TString::Clear | ( | ) |
Clear string without changing its capacity.
Definition at line 1235 of file TString.cxx.
Clear string and make sure it has a capacity of nc.
Definition at line 1246 of file TString.cxx.
|
private |
Make self a distinct copy with capacity of at least tot, where tot cannot be smaller than the current length.
Preserve previous contents.
Definition at line 1279 of file TString.cxx.
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.
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.
|
inline |
|
inline |
TString TString::Copy | ( | ) | const |
Copy a string.
Definition at line 529 of file TString.cxx.
Return number of times character c occurs in the string.
Definition at line 515 of file TString.cxx.
|
inlinestatic |
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.
|
inline |
|
inline |
|
virtual |
Copy string into I/O buffer.
Reimplemented in TStringLong.
Definition at line 1310 of file TString.cxx.
Ssiz_t TString::First | ( | char | c | ) | const |
Find first occurrence of a character c.
Definition at line 538 of file TString.cxx.
Ssiz_t TString::First | ( | const char * | cs | ) | const |
Find first occurrence of a character in cs.
Definition at line 547 of file TString.cxx.
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
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.
|
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.
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.
|
private |
Formats a string using a printf style format descriptor.
Existing string contents will be overwritten.
Definition at line 2310 of file TString.cxx.
|
static |
Definition at line 1568 of file TString.cxx.
|
inlineprivate |
|
static |
Definition at line 1584 of file TString.cxx.
|
static |
Definition at line 1576 of file TString.cxx.
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.
|
inlineprivate |
Calculates hash index from any char string.
(static function)
This employs two different hash functions, depending on ntxt:
Definition at line 850 of file TString.cxx.
UInt_t TString::Hash | ( | ECaseCompare | cmp = kExact | ) | const |
Return hash value.
Definition at line 677 of file TString.cxx.
|
private |
Return a case-sensitive hash value (endian independent).
Definition at line 633 of file TString.cxx.
|
private |
Return a case-insensitive hash value (endian independent).
Definition at line 662 of file TString.cxx.
|
inline |
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.
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.
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.
|
inline |
|
inline |
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 628 of file TPRegexp.cxx.
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 613 of file TPRegexp.cxx.
Private member function returning an empty string representation of size capacity and containing nchar characters.
Definition at line 261 of file TString.cxx.
|
protected |
Initialize a string with a single character.
Definition at line 148 of file TString.cxx.
Set default initial capacity for all TStrings. Default is 15.
Definition at line 1593 of file TString.cxx.
|
inlinevirtual |
Reimplemented in TStringToken, TStringLong, TEveException, TGString, and TGHotString.
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.
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.
Bool_t TString::IsAscii | ( | ) | const |
Returns true if all characters in string are ascii.
Definition at line 1785 of file TString.cxx.
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.
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.
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.
Bool_t TString::IsFloat | ( | ) | const |
Returns kTRUE if string contains a floating point or integer number.
Examples of valid formats are:
Definition at line 1858 of file TString.cxx.
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.
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.
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.
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"
In case of error returns the "!" string.
Definition at line 2092 of file TString.cxx.
Ssiz_t TString::Last | ( | char | c | ) | const |
Find last occurrence of a character c.
Definition at line 931 of file TString.cxx.
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.
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.
Bool_t TString::MaybeRegexp | ( | ) | const |
Returns true if string contains one of the regexp characters "^$.[]*+?".
Definition at line 952 of file TString.cxx.
Bool_t TString::MaybeWildcard | ( | ) | const |
Returns true if string contains one of the wildcard characters "[]*?".
Definition at line 964 of file TString.cxx.
TString TString::MD5 | ( | ) | const |
Return the MD5 digest for this string, in a string representation.
Definition at line 940 of file TString.cxx.
TSubString TString::operator() | ( | const TRegexp & | re | ) | const |
Return the substring found by applying the regexp.
Definition at line 286 of file TRegexp.cxx.
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.
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.
TSubString TString::operator() | ( | TPRegexp & | re | ) | const |
Return the substring found by applying the regexp.
Definition at line 654 of file TPRegexp.cxx.
TSubString TString::operator() | ( | TPRegexp & | re, |
Ssiz_t | start | ||
) | const |
Return the substring found by applying the regexp starting at start.
Definition at line 644 of file TPRegexp.cxx.
std::enable_if< ROOT::TypeTraits::IsFloatNumeral< T >::value, TString >::type & TString::operator+= | ( | T | f | ) |
std::enable_if< ROOT::TypeTraits::IsUnsignedNumeral< T >::value, TString >::type & TString::operator+= | ( | T | u | ) |
TString & TString::operator= | ( | char | s | ) |
Assign character c to TString.
Definition at line 301 of file TString.cxx.
TString & TString::operator= | ( | const char * | s | ) |
Assign string cs to TString.
Definition at line 314 of file TString.cxx.
TString & TString::operator= | ( | const std::string & | s | ) |
Assign std::string s to TString.
Definition at line 327 of file TString.cxx.
TString & TString::operator= | ( | const std::string_view & | s | ) |
Assign std::string s to TString.
Definition at line 340 of file TString.cxx.
Assignment operator.
Definition at line 353 of file TString.cxx.
TString & TString::operator= | ( | const TSubString & | s | ) |
Assign a TSubString substr to TString.
Definition at line 382 of file TString.cxx.
Move-Assignment operator.
Definition at line 371 of file TString.cxx.
Prepend character c rep times to string.
Definition at line 977 of file TString.cxx.
void TString::Puts | ( | FILE * | fp | ) |
Write string to the stream.
Definition at line 229 of file Stringio.cxx.
|
virtual |
Read string from I/O buffer.
Reimplemented in TStringLong.
Definition at line 1331 of file TString.cxx.
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.
Read a line from stream upto newline skipping any whitespace.
Definition at line 71 of file Stringio.cxx.
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.
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.
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.
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.
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 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.
|
inline |
Find & Replace ls1 symbols of s1 with ls2 symbols of s2 if any.
Definition at line 1095 of file TString.cxx.
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.
void TString::Resize | ( | Ssiz_t | n | ) |
Resize the string. Truncate or add blanks as necessary.
Definition at line 1152 of file TString.cxx.
Set default resize increment for all TStrings. Default is 16.
Definition at line 1602 of file TString.cxx.
|
virtual |
Returns size string will occupy on I/O buffer.
Reimplemented in TStringLong.
Definition at line 1401 of file TString.cxx.
|
virtual |
Stream a string object.
Reimplemented in TStringToken, TStringLong, TEveException, TGString, and TGHotString.
Definition at line 1412 of file TString.cxx.
|
inline |
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.
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.
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.
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:
more convenient of the other Tokenize method when saving the tokens is not needed.
Definition at line 310 of file TRegexp.cxx.
void TString::ToLower | ( | ) |
Change string to lower-case.
Definition at line 1182 of file TString.cxx.
void TString::ToUpper | ( | ) |
Change string to upper case.
Definition at line 1195 of file TString.cxx.
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.
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.
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.
Add string to char.
Definition at line 1557 of file TString.cxx.
Use the special concatenation constructor.
Definition at line 1533 of file TString.cxx.
Add char to string.
Definition at line 1549 of file TString.cxx.
Use the special concatenation constructor.
Definition at line 1525 of file TString.cxx.
Use the special concatenation constructor.
Definition at line 1541 of file TString.cxx.
|
friend |
|
friend |
|
friend |
|
friend |
Write TString or derived to TBuffer.
Definition at line 1470 of file TString.cxx.
Compare TString with a char *.
Definition at line 1482 of file TString.cxx.
|
friend |
|
friend |
|
friend |