blocxx
BLOCXX_NAMESPACE::String Class Reference

This String class is an abstract data type that represents as NULL terminated string of characters. More...

#include <String.hpp>

Classes

class  ByteBuf
 

Public Types

enum  ETakeOwnershipFlag { E_TAKE_OWNERSHIP }
 
enum  EReturnDelimitersFlag { E_DISCARD_TOKENS , E_RETURN_TOKENS , E_DISCARD_DELIMITERS , E_RETURN_DELIMITERS }
 
enum  EEmptyTokenReturnFlag { E_SKIP_EMPTY_TOKENS , E_RETURN_EMPTY_TOKENS }
 
enum  EIgnoreCaseFlag { E_CASE_SENSITIVE , E_CASE_INSENSITIVE }
 
typedef COWIntrusiveReference< ByteBufbuf_t
 

Public Member Functions

 String ()
 Create a new String object with a length of 0.
 
 String (Int32 val)
 Create a new String object that will hold the string representation of the given Int32 value.
 
 String (UInt32 val)
 Create a new String object that will hold the string representation of the given UInt32 value.
 
 String (Int64 val)
 Create a new String object that will hold the string representation of the given Int64 value.
 
 String (UInt64 val)
 Create a new String object that will hold the string representation of the given UInt64 value.
 
 String (Real32 val)
 Create a new String object that will hold the string representation of the given Real32 value.
 
 String (Real64 val)
 Create a new String object that will hold the string representation of the given Real64 value.
 
 String (const char *str)
 Create a new String object that will contain a copy of the given character string.
 
 String (const Char16Array &ra) BLOCXX_DEPRECATED
 DEPRECATED in 3.1.0.
 
 String (Bool parm) BLOCXX_DEPRECATED
 DEPRECATED in favor of Bool::toString() in 3.1.0.
 
 String (const Char16 &parm) BLOCXX_DEPRECATED
 DEPRECATED in favor of Char16::toString() in 3.1.0.
 
 String (const std::string &str)
 Create a new String object that will contain a copy of the given std::string.
 
 String (ETakeOwnershipFlag, char *allocatedMemory, size_t len)
 Create a new string object from a dynamically allocated buffer.
 
 String (const char *str, size_t len)
 Create s new String object that will contain a copy of the given character string for the given length.
 
 String (const String &arg)
 Create a new String object that is a copy of another String object.
 
 String (char c)
 Create a new String object that contains a single character.
 
 ~String ()
 Destroy this String object.
 
void swap (String &x)
 Swap this instance with another.
 
char * allocateCString () const
 Create a null terminated string that contains the contents of this String.
 
size_t length () const
 
size_t size () const
 
size_t UTF8Length () const
 If the string is not valid UTF-8, then the result of this function is undefined.
 
bool empty () const
 
int format (const char *fmt,...)
 Format this string according to the given format and variable argument list (printf style)
 
StringArray tokenize (const char *delims=" \n\r\t\v", EReturnDelimitersFlag returnDelimitersAsTokens=E_DISCARD_DELIMITERS, EEmptyTokenReturnFlag returnEmptyTokens=E_SKIP_EMPTY_TOKENS) const
 Tokenize this String object using the given delimeters.
 
const char * c_str () const
 
BLOCXX_DEPRECATED const char * getBytes () const
 DEPRECATED in favor of c_str() in 3.1.0.
 
char charAt (size_t ndx) const
 Get the character at a specified index.
 
int compareTo (const String &arg) const
 Compare another String object with this one.
 
int compareTo (const char *arg) const
 Compare another string with this one.
 
int compareToIgnoreCase (const String &arg) const
 Compare another string with this one ignoring case.
 
int compareToIgnoreCase (const char *arg) const
 Compare another string with this one ignoring case.
 
Stringconcat (const char *arg)
 Append a C string to this String object.
 
Stringconcat (const String &arg)
 Append another String object to this String object.
 
Stringconcat (char arg)
 Append a char to this String object.
 
bool endsWith (const char *arg, EIgnoreCaseFlag ignoreCase=E_CASE_SENSITIVE) const
 Determine if this String object ends with given C string.
 
bool endsWith (const String &arg, EIgnoreCaseFlag ignoreCase=E_CASE_SENSITIVE) const
 Determine if this String object ends with the same string represented by another String object.
 
bool endsWith (char arg) const
 Determine if this String object ends with a given character.
 
bool equals (const String &arg) const
 Determine if another String object is equal to this String object.
 
bool equals (const char *arg) const
 Determine if another string is equal to this String object.
 
bool equalsIgnoreCase (const String &arg) const
 Determine if another String object is equal to this String object, ignoring case in the comparision.
 
bool equalsIgnoreCase (const char *arg) const
 Determine if another string is equal to this String object, ignoring case in the comparision.
 
UInt32 hashCode () const
 
size_t indexOf (char ch, size_t fromIndex=0) const
 Find the first occurence of a given character in this String object.
 
size_t indexOf (const char *arg, size_t fromIndex=0) const
 Find the first occurence of a C string in this String object.
 
size_t indexOf (const String &arg, size_t fromIndex=0) const
 Find the first occurence of a string in this String object.
 
size_t lastIndexOf (char ch, size_t fromIndex=npos) const
 Find the last occurence of a character in this String object.
 
size_t lastIndexOf (const char *arg, size_t fromIndex=npos) const
 Find the last occurence of a C string in this String object.
 
size_t lastIndexOf (const String &arg, size_t fromIndex=npos) const
 Find the last occurence of a string in this String object.
 
bool startsWith (const char *arg, EIgnoreCaseFlag ignoreCase=E_CASE_SENSITIVE) const
 Determine if this String object starts with a given substring.
 
bool startsWith (const String &arg, EIgnoreCaseFlag ignoreCase=E_CASE_SENSITIVE) const
 Determine if this String object starts with a given substring.
 
bool startsWith (char arg) const
 Determine if this String object starts with a given character.
 
String substring (size_t beginIndex, size_t length=npos) const
 Create another String object that is comprised of a substring of this String object.
 
bool isSpaces () const
 
StringtoLowerCase ()
 Convert this String object to lower case characters.
 
StringtoUpperCase ()
 Convert this String object to upper case characters.
 
Stringltrim ()
 Strip all leading space characters (as defined by the C function isspace()) from this String object.
 
Stringrtrim ()
 Strip all trailing space characters (as defined by the C function isspace()) from this String object.
 
Stringtrim ()
 Strip all leading and trailing space characters (as defined by the C function isspace()) from this String object.
 
Stringerase ()
 Delete all the characters of the string.
 
Stringerase (size_t idx, size_t len=npos)
 Erases, at most, len characters of *this, starting at index idx.
 
Stringoperator= (const String &arg)
 Assignment operator.
 
const char & operator[] (size_t ndx) const
 Operator [].
 
char & operator[] (size_t ndx)
 
Stringoperator+= (const String &arg)
 Concatination operator.
 
Stringoperator+= (const char *arg)
 Concatination operator.
 
Stringoperator+= (char arg)
 Character concatination operator.
 
void readObject (std::streambuf &istrm)
 Read this String object from the given istream.
 
void writeObject (std::streambuf &ostrm) const
 Write this String object to the given ostream.
 
String toString () const
 
Char16 toChar16 () const BLOCXX_DEPRECATED
 DEPRECATED in favor of Char16::Char16(const String&) in 3.1.0.
 
Real32 toReal32 () const
 
Real64 toReal64 () const
 
bool toBool () const
 
UInt8 toUInt8 (int base=10) const
 
Int8 toInt8 (int base=10) const
 
UInt16 toUInt16 (int base=10) const
 
Int16 toInt16 (int base=10) const
 
UInt32 toUInt32 (int base=10) const
 
Int32 toInt32 (int base=10) const
 
UInt64 toUInt64 (int base=10) const
 
Int64 toInt64 (int base=10) const
 
unsigned int toUnsignedInt (int base=10) const
 
int toInt (int base=10) const
 

Static Public Member Functions

static unsigned long long int strtoull (const char *nptr, char **endptr, int base)
 Convert a null terminated string to an unsigned 64 bit value.
 
static long long int strtoll (const char *nptr, char **endptr, int base)
 Convert a null terminated string to an signed 64 bit value.
 
static const char * strchr (const char *theStr, int c)
 Find the first occurrence of a character in a null terminated string.
 
static String getLine (std::istream &istr)
 Reads from in input stream until a newline is encountered.
 

Static Public Attributes

static const size_t npos = size_t(~0)
 

Private Attributes

buf_t m_buf
 

Detailed Description

This String class is an abstract data type that represents as NULL terminated string of characters.

String objects are ref counted and copy on write. Internal representation is UTF-8. Conversion to/from Char16 (UCS-2) is performed correctly. All operations that return/take an offset are based on the character array as if this were an ASCII string. The class does not enforce or maintain the integrity of any UTF-8 chars. length() returns the size in bytes of the string. Use UTF8Length() to get the number of chars in the string.

Definition at line 66 of file String.hpp.

Member Typedef Documentation

◆ buf_t

Member Enumeration Documentation

◆ EEmptyTokenReturnFlag

Enumerator
E_SKIP_EMPTY_TOKENS 
E_RETURN_EMPTY_TOKENS 

Definition at line 254 of file String.hpp.

◆ EIgnoreCaseFlag

Enumerator
E_CASE_SENSITIVE 
E_CASE_INSENSITIVE 

Definition at line 347 of file String.hpp.

◆ EReturnDelimitersFlag

Enumerator
E_DISCARD_TOKENS 
E_RETURN_TOKENS 
E_DISCARD_DELIMITERS 
E_RETURN_DELIMITERS 

Definition at line 247 of file String.hpp.

◆ ETakeOwnershipFlag

Enumerator
E_TAKE_OWNERSHIP 

Definition at line 167 of file String.hpp.

Constructor & Destructor Documentation

◆ String() [1/16]

BLOCXX_NAMESPACE::String::String ( )

Create a new String object with a length of 0.

Definition at line 139 of file String.cpp.

Referenced by ltrim(), rtrim(), substring(), tokenize(), and trim().

◆ String() [2/16]

BLOCXX_NAMESPACE::String::String ( Int32 val)
explicit

Create a new String object that will hold the string representation of the given Int32 value.

Parameters
valThe 32 bit value this String will hold the string representation of.

Definition at line 162 of file String.cpp.

References BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), and m_buf.

◆ String() [3/16]

BLOCXX_NAMESPACE::String::String ( UInt32 val)
explicit

Create a new String object that will hold the string representation of the given UInt32 value.

Parameters
valThe 32 bit value this String will hold the string representation of.

Definition at line 172 of file String.cpp.

References BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), and m_buf.

◆ String() [4/16]

BLOCXX_NAMESPACE::String::String ( Int64 val)
explicit

Create a new String object that will hold the string representation of the given Int64 value.

Parameters
valThe 64 bit value this String will hold the string representation of.

Definition at line 207 of file String.cpp.

References BLOCXX_NAMESPACE::OStringStream::c_str(), and m_buf.

◆ String() [5/16]

BLOCXX_NAMESPACE::String::String ( UInt64 val)
explicit

Create a new String object that will hold the string representation of the given UInt64 value.

Parameters
valThe 64 bit value this String will hold the string representation of.

Definition at line 215 of file String.cpp.

References BLOCXX_NAMESPACE::OStringStream::c_str(), and m_buf.

◆ String() [6/16]

BLOCXX_NAMESPACE::String::String ( Real32 val)
explicit

Create a new String object that will hold the string representation of the given Real32 value.

Parameters
valThe real value this String will hold the string representation of.

Definition at line 232 of file String.cpp.

References m_buf, and SNPRINTF.

◆ String() [7/16]

BLOCXX_NAMESPACE::String::String ( Real64 val)
explicit

Create a new String object that will hold the string representation of the given Real64 value.

Parameters
valThe real value this String will hold the string representation of.

Definition at line 248 of file String.cpp.

References m_buf, and SNPRINTF.

◆ String() [8/16]

BLOCXX_NAMESPACE::String::String ( const char * str)

Create a new String object that will contain a copy of the given character string.

Parameters
strThe null terminated string to make a copy of.

Definition at line 264 of file String.cpp.

References m_buf.

◆ String() [9/16]

BLOCXX_NAMESPACE::String::String ( const Char16Array & ra)
explicit

DEPRECATED in 3.1.0.

Create a new String object that will contain a single byte character representation of the Char16Array.

Parameters
raThe Char16Array to use to construct the string

Definition at line 299 of file String.cpp.

References i, m_buf, BLOCXX_NAMESPACE::StringBuffer::releaseString(), and BLOCXX_NAMESPACE::Array< T >::size().

◆ String() [10/16]

BLOCXX_NAMESPACE::String::String ( Bool parm)
explicit

DEPRECATED in favor of Bool::toString() in 3.1.0.

Create a new String object that will contain the representation of a Bool value ("TRUE" "FALSE").

Parameters
parmThe Bool value this string will represent.

Definition at line 144 of file String.cpp.

◆ String() [11/16]

BLOCXX_NAMESPACE::String::String ( const Char16 & parm)
explicit

DEPRECATED in favor of Char16::toString() in 3.1.0.

Create a new String object that will contain the representation of an Char16 object

Parameters
parmThe Char16 object this string will represent.

Definition at line 149 of file String.cpp.

◆ String() [12/16]

BLOCXX_NAMESPACE::String::String ( const std::string & str)
explicit

Create a new String object that will contain a copy of the given std::string.

Parameters
strThe std::string this String object will be a copy of.

Definition at line 154 of file String.cpp.

◆ String() [13/16]

BLOCXX_NAMESPACE::String::String ( ETakeOwnershipFlag ,
char * allocatedMemory,
size_t len )
explicit

Create a new string object from a dynamically allocated buffer.

The buffer is assumed to contain a valid c string and be previously allocated with the new operator. The memory given by the allocatedMemory parameter will be deallocated by the String class.

Parameters
takeOwnerShipTagThis parm is not used. It is here to differentiate this constructor from the others.
allocatedMemoryThe dynamically allocated string that will be used by this String. Must not be NULL.
lenThe length of the string allocatedMemory.

Definition at line 270 of file String.cpp.

References BLOCXX_ASSERT, and m_buf.

◆ String() [14/16]

BLOCXX_NAMESPACE::String::String ( const char * str,
size_t len )
explicit

Create s new String object that will contain a copy of the given character string for the given length.

Parameters
strThe character array to copy from. It does not need to be null terminated.
lenThe number of bytes to copy from the str param. The count should not include a terminating null.

Definition at line 278 of file String.cpp.

References BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), and m_buf.

◆ String() [15/16]

BLOCXX_NAMESPACE::String::String ( const String & arg)

Create a new String object that is a copy of another String object.

Upon return, both String objects will point to the same underlying character buffer. This state will remain until one of the 2 String objects is modified (copy on write)

Parameters
argThe String object to make a copy of.

Definition at line 294 of file String.cpp.

◆ String() [16/16]

BLOCXX_NAMESPACE::String::String ( char c)
explicit

Create a new String object that contains a single character.

Parameters
cThe character that this string will contain.

Definition at line 318 of file String.cpp.

References m_buf.

◆ ~String()

BLOCXX_NAMESPACE::String::~String ( )

Destroy this String object.

Definition at line 334 of file String.cpp.

Member Function Documentation

◆ allocateCString()

char * BLOCXX_NAMESPACE::String::allocateCString ( ) const

Create a null terminated string that contains the contents of this String.

The returned pointer MUST be deleted by the caller using free().

Returns
A pointer to the newly allocated buffer that contains the contents of this String object.

Definition at line 345 of file String.cpp.

References c_str(), and length().

◆ c_str()

const char * BLOCXX_NAMESPACE::String::c_str ( ) const
Returns
The c string representation of this String object. This will be a null terminated character array.

Definition at line 905 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), and m_buf.

Referenced by allocateCString(), BLOCXX_NAMESPACE::StringBuffer::append(), BLOCXX_NAMESPACE::FileSystem::canRead(), BLOCXX_NAMESPACE::FileSystem::canWrite(), BLOCXX_NAMESPACE::FileSystem::changeDirectory(), BLOCXX_NAMESPACE::FileSystem::changeFileOwner(), BLOCXX_NAMESPACE::Char16::Char16(), BLOCXX_NAMESPACE::ServerSocketImpl::close(), BLOCXX_NAMESPACE::CmdLineParser::CmdLineParser(), compareTo(), compareToIgnoreCase(), concat(), BLOCXX_NAMESPACE::SocketBaseImpl::connect(), BLOCXX_NAMESPACE::FileSystem::createAutoDeleteTempFile(), BLOCXX_NAMESPACE::FileSystem::createFile(), BLOCXX_NAMESPACE::LogAppender::createLogAppender(), BLOCXX_NAMESPACE::FileSystem::createTempFile(), BLOCXX_NAMESPACE::SocketBaseImpl::disconnect(), BLOCXX_NAMESPACE::ServerSocketImpl::doListenUDS(), BLOCXX_NAMESPACE::FileAppender::doProcessLogMessage(), BLOCXX_NAMESPACE::MultiProcessFileAppender::doProcessLogMessage(), endsWith(), equals(), equalsIgnoreCase(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), BLOCXX_NAMESPACE::FileSystem::exists(), BLOCXX_NAMESPACE::FileAppender::FileAppender(), BLOCXX_NAMESPACE::DelayedFormat::format(), BLOCXX_NAMESPACE::DelayedFormat::formatWithString(), BLOCXX_NAMESPACE::ExceptionDetail::FormatMsg::get(), BLOCXX_NAMESPACE::SocketAddress::getByName(), BLOCXX_NAMESPACE::FileSystem::getDirectoryContents(), BLOCXX_NAMESPACE::UserUtils::getEffectiveUserId(), BLOCXX_NAMESPACE::FileSystem::getFileContents(), BLOCXX_NAMESPACE::FileSystem::getFileSize(), BLOCXX_NAMESPACE::GetPass::getPass(), BLOCXX_NAMESPACE::StackTrace::getStackTrace(), BLOCXX_NAMESPACE::SocketAddress::getUDS(), BLOCXX_NAMESPACE::UserUtils::getUserId(), indexOf(), BLOCXX_NAMESPACE::FileSystem::isDirectory(), BLOCXX_NAMESPACE::FileSystem::isExecutable(), BLOCXX_NAMESPACE::FileSystem::isLink(), BLOCXX_NAMESPACE::IStringStreamBuf::IStringStreamBuf(), lastIndexOf(), BLOCXX_NAMESPACE::FileSystem::makeDirectory(), BLOCXX_NAMESPACE::MultiProcessFileAppender::MultiProcessFileAppender(), BLOCXX_NAMESPACE::NwIface::NwIface(), BLOCXX_NAMESPACE::FileSystem::openFile(), BLOCXX_NAMESPACE::FileSystem::openForAppendOrCreateFile(), BLOCXX_NAMESPACE::FileSystem::openOrCreateFile(), BLOCXX_NAMESPACE::operator<<(), BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::SocketBaseImpl::read(), BLOCXX_NAMESPACE::FileSystem::readSymbolicLink(), BLOCXX_NAMESPACE::FileSystem::Path::realPath(), BLOCXX_NAMESPACE::FileSystem::removeDirectory(), BLOCXX_NAMESPACE::FileSystem::removeFile(), BLOCXX_NAMESPACE::FileSystem::renameFile(), BLOCXX_NAMESPACE::FileSystem::Path::security(), BLOCXX_NAMESPACE::FileSystem::Path::security(), BLOCXX_NAMESPACE::EnvVars::setVar(), startsWith(), BLOCXX_NAMESPACE::StringBuffer::StringBuffer(), BLOCXX_NAMESPACE::NwIface::stringToAddress(), BLOCXX_NAMESPACE::SyslogAppender::SyslogAppender(), toBool(), toChar16(), BLOCXX_NAMESPACE::MD5::update(), UTF8Length(), BLOCXX_NAMESPACE::UUID::UUID(), BLOCXX_NAMESPACE::SocketBaseImpl::write(), and BLOCXX_NAMESPACE::UnnamedPipe::writeString().

◆ charAt()

char BLOCXX_NAMESPACE::String::charAt ( size_t ndx) const

Get the character at a specified index.

Parameters
ndxThe index of the character to return within the char array.
Returns
The character at the given index within the array. If the index is out of bounds, then a 0 is returned.

Definition at line 401 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), and m_buf.

◆ compareTo() [1/2]

int BLOCXX_NAMESPACE::String::compareTo ( const char * arg) const

Compare another string with this one.

Parameters
argThe string to compare with this one.
Returns
0 if this String object is equal to arg. Greater than 0 if this String object is greater than arg. Less than 0 if this String object is less than arg.

Definition at line 407 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), and m_buf.

◆ compareTo() [2/2]

int BLOCXX_NAMESPACE::String::compareTo ( const String & arg) const

Compare another String object with this one.

Parameters
argThe String object to compare with this one.
Returns
0 if this String object is equal to arg. Greater than 0 if this String object is greater than arg. Less than 0 if this String object is less than arg.

Definition at line 418 of file String.cpp.

References c_str(), and compareTo().

Referenced by compareTo(), equals(), BLOCXX_NAMESPACE::operator!=(), BLOCXX_NAMESPACE::operator!=(), BLOCXX_NAMESPACE::operator!=(), BLOCXX_NAMESPACE::operator<(), BLOCXX_NAMESPACE::operator<(), BLOCXX_NAMESPACE::operator<=(), BLOCXX_NAMESPACE::operator<=(), BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::operator==(), BLOCXX_NAMESPACE::operator>(), BLOCXX_NAMESPACE::operator>(), BLOCXX_NAMESPACE::operator>=(), and BLOCXX_NAMESPACE::operator>=().

◆ compareToIgnoreCase() [1/2]

int BLOCXX_NAMESPACE::String::compareToIgnoreCase ( const char * arg) const

Compare another string with this one ignoring case.

Parameters
argThe string to compare with this one.
Returns
0 if this String object is equal to arg. Greater than 0 if this String object is greater than arg. Less than 0 if this String object is less than arg.

Definition at line 424 of file String.cpp.

References BLOCXX_NAMESPACE::UTF8Utils::compareToIgnoreCase(), BLOCXX_NAMESPACE::String::ByteBuf::data(), and m_buf.

◆ compareToIgnoreCase() [2/2]

int BLOCXX_NAMESPACE::String::compareToIgnoreCase ( const String & arg) const

Compare another string with this one ignoring case.

Parameters
argThe string to compare with this one.
Returns
0 if this String object is equal to arg. Greater than 0 if this String object is greater than arg. Less than 0 if this String object is less than arg.

Definition at line 435 of file String.cpp.

References c_str(), and compareToIgnoreCase().

Referenced by compareToIgnoreCase(), equalsIgnoreCase(), and BLOCXX_NAMESPACE::strncmpi().

◆ concat() [1/3]

String & BLOCXX_NAMESPACE::String::concat ( char arg)

Append a char to this String object.

Parameters
argThe char to append to this String object.
Returns
A reference to this String object.

Definition at line 461 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), length(), and m_buf.

◆ concat() [2/3]

String & BLOCXX_NAMESPACE::String::concat ( const char * arg)

Append a C string to this String object.

Parameters
argThe C string to append to this String object.
Returns
A reference to this String object.

Definition at line 442 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), length(), and m_buf.

◆ concat() [3/3]

String & BLOCXX_NAMESPACE::String::concat ( const String & arg)
inline

Append another String object to this String object.

Parameters
argThe String object to append to this String object.
Returns
A reference to this String object.

Definition at line 336 of file String.hpp.

References c_str().

◆ empty()

◆ endsWith() [1/3]

bool BLOCXX_NAMESPACE::String::endsWith ( char arg) const

Determine if this String object ends with a given character.

Parameters
argThe character to test for.
Returns
true if this String ends with the given character. Otherwise return false.

Definition at line 478 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), BLOCXX_NAMESPACE::String::ByteBuf::length(), and m_buf.

◆ endsWith() [2/3]

bool BLOCXX_NAMESPACE::String::endsWith ( const char * arg,
EIgnoreCaseFlag ignoreCase = E_CASE_SENSITIVE ) const

Determine if this String object ends with given C string.

Parameters
argThe C string object to search the end of this String object for.
ignoreCaseIf true, character case will be ignored.
Returns
true if this String ends with the given String. Otherwise return false.

Definition at line 487 of file String.cpp.

References BLOCXX_NAMESPACE::UTF8Utils::compareToIgnoreCase(), BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), and m_buf.

Referenced by BLOCXX_NAMESPACE::FileSystem::createAutoDeleteTempFile(), BLOCXX_NAMESPACE::FileSystem::createTempFile(), and BLOCXX_NAMESPACE::FileSystem::getDirectoryContents().

◆ endsWith() [3/3]

bool BLOCXX_NAMESPACE::String::endsWith ( const String & arg,
EIgnoreCaseFlag ignoreCase = E_CASE_SENSITIVE ) const
inline

Determine if this String object ends with the same string represented by another String object.

Parameters
argThe String object to search the end of this String object for.
ignoreCaseIf true, character case will be ignored.
Returns
true if this String ends with the given String. Otherwise return false.

Definition at line 371 of file String.hpp.

References c_str().

◆ equals() [1/2]

bool BLOCXX_NAMESPACE::String::equals ( const char * arg) const

Determine if another string is equal to this String object.

Parameters
argThe string to check this String object against for equality.
Returns
true if this String object is equal to the given String object. Otherwise return false.

Definition at line 511 of file String.cpp.

References compareTo().

◆ equals() [2/2]

bool BLOCXX_NAMESPACE::String::equals ( const String & arg) const

Determine if another String object is equal to this String object.

Parameters
argThe String object to check this String object against for equality.
Returns
true if this String object is equal to the given String object. Otherwise return false.

Definition at line 517 of file String.cpp.

References c_str(), and equals().

Referenced by equals(), and BLOCXX_NAMESPACE::operator==().

◆ equalsIgnoreCase() [1/2]

bool BLOCXX_NAMESPACE::String::equalsIgnoreCase ( const char * arg) const

Determine if another string is equal to this String object, ignoring case in the comparision.

Parameters
argThe string to check this String object against for equality.
Returns
true if this String object is equal to the given String object. Otherwise return false.

Definition at line 523 of file String.cpp.

References compareToIgnoreCase().

◆ equalsIgnoreCase() [2/2]

bool BLOCXX_NAMESPACE::String::equalsIgnoreCase ( const String & arg) const

Determine if another String object is equal to this String object, ignoring case in the comparision.

Parameters
argThe String object to check this String object against for equality.
Returns
true if this String object is equal to the given String object. Otherwise return false.

Definition at line 529 of file String.cpp.

References c_str(), and equalsIgnoreCase().

Referenced by BLOCXX_NAMESPACE::LogAppender::createLogAppender(), BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), equalsIgnoreCase(), BLOCXX_NAMESPACE::Logger::stringToLogLevel(), and toBool().

◆ erase() [1/2]

String & BLOCXX_NAMESPACE::String::erase ( )

Delete all the characters of the string.

Thus, the string is empty after the call.

Returns
A referernce to this object.

Definition at line 824 of file String.cpp.

References m_buf.

Referenced by BLOCXX_NAMESPACE::FileSystem::createTempFile(), BLOCXX_NAMESPACE::Format::process(), and BLOCXX_NAMESPACE::TempFileBuffer::releaseFileAndReset().

◆ erase() [2/2]

String & BLOCXX_NAMESPACE::String::erase ( size_t idx,
size_t len = npos )

Erases, at most, len characters of *this, starting at index idx.

if len == npos, erase to the end of the string.

Returns
A referernce to this object.

Definition at line 831 of file String.cpp.

References length(), npos, and substring().

◆ format()

int BLOCXX_NAMESPACE::String::format ( const char * fmt,
... )

Format this string according to the given format and variable argument list (printf style)

Parameters
fmtThe format to use during the operation
...A variable argument list to be applied to the format
Returns
The length of the string after the operation on success. npos on error.

Definition at line 369 of file String.cpp.

References BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), length(), m_buf, and size().

Referenced by BLOCXX_NAMESPACE::UserUtils::getEffectiveUserId(), BLOCXX_NAMESPACE::ScopeLogger::ScopeLogger(), BLOCXX_NAMESPACE::ScopeLogger::ScopeLogger(), and BLOCXX_NAMESPACE::ScopeLogger::~ScopeLogger().

◆ getBytes()

BLOCXX_DEPRECATED const char * BLOCXX_NAMESPACE::String::getBytes ( ) const
inline

DEPRECATED in favor of c_str() in 3.1.0.

Returns
A pointer to the underlying character buffer. Identical to c_str.

Definition at line 284 of file String.hpp.

◆ getLine()

String BLOCXX_NAMESPACE::String::getLine ( std::istream & istr)
static

Reads from in input stream until a newline is encountered.

This consumes the newline character (but doesn't put the newline in the return value), and leaves the file pointer at the char past the newline.

Returns
an String containing the line.

Definition at line 1505 of file String.cpp.

References BLOCXX_NAMESPACE::StringBuffer::getLine(), and BLOCXX_NAMESPACE::StringBuffer::releaseString().

Referenced by BLOCXX_NAMESPACE::StackTrace::getStackTrace().

◆ hashCode()

UInt32 BLOCXX_NAMESPACE::String::hashCode ( ) const
Returns
a 32 bit hashcode of this String object.

Definition at line 535 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), i, length(), and m_buf.

◆ indexOf() [1/3]

size_t BLOCXX_NAMESPACE::String::indexOf ( char ch,
size_t fromIndex = 0 ) const

Find the first occurence of a given character in this String object.

Parameters
chThe character to search for.
fromIndexThe index to start the search from.
Returns
The index of the given character in the underlying array if it was found. npos if the character was not found at or after the given fromIndex.

Definition at line 556 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, npos, and strchr().

Referenced by BLOCXX_NAMESPACE::CmdLineParser::CmdLineParser(), BLOCXX_NAMESPACE::SocketAddress::getAnyLocalHost(), and BLOCXX_NAMESPACE::CmdLineParser::getUsage().

◆ indexOf() [2/3]

size_t BLOCXX_NAMESPACE::String::indexOf ( const char * arg,
size_t fromIndex = 0 ) const

Find the first occurence of a C string in this String object.

Parameters
argThe C string to search for.
fromIndexThe index to start the search from.
Returns
The index of the given string in the underlying array if it was found. npos if the string was not found at or after the fromIndex.

Definition at line 577 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, and npos.

◆ indexOf() [3/3]

size_t BLOCXX_NAMESPACE::String::indexOf ( const String & arg,
size_t fromIndex = 0 ) const
inline

Find the first occurence of a string in this String object.

Parameters
argThe string to search for.
fromIndexThe index to start the search from.
Returns
The index of the given string in the underlying array if it was found. npos if the string was not found at or after the fromIndex.

Definition at line 446 of file String.hpp.

References c_str().

◆ isSpaces()

bool BLOCXX_NAMESPACE::String::isSpaces ( ) const
Returns
true if this String object contains nothing but space characters.

Definition at line 729 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), and m_buf.

Referenced by BLOCXX_NAMESPACE::SyslogAppender::SyslogAppender().

◆ lastIndexOf() [1/3]

size_t BLOCXX_NAMESPACE::String::lastIndexOf ( char ch,
size_t fromIndex = npos ) const

Find the last occurence of a character in this String object.

Parameters
chThe character to search for.
fromIndexThe index to start the search from.
Returns
The index of the last occurence of the given character in the underlying array if it was found. npos if this String object does not contain the character before the given fromIndex.

Definition at line 603 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), i, length(), m_buf, and npos.

Referenced by BLOCXX_NAMESPACE::FileSystem::Path::basename(), BLOCXX_NAMESPACE::FileSystem::Path::dirname(), and BLOCXX_NAMESPACE::CmdLineParser::getUsage().

◆ lastIndexOf() [2/3]

size_t BLOCXX_NAMESPACE::String::lastIndexOf ( const char * arg,
size_t fromIndex = npos ) const

Find the last occurence of a C string in this String object.

Parameters
argThe C string to search for.
fromIndexThe index to start the search from.
Returns
The index of the last occurence of the string in the underlying array if it was found. npos if the this String does not contain the given substring before the fromIndex.

Definition at line 630 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, and npos.

◆ lastIndexOf() [3/3]

size_t BLOCXX_NAMESPACE::String::lastIndexOf ( const String & arg,
size_t fromIndex = npos ) const
inline

Find the last occurence of a string in this String object.

Parameters
argThe string to search for.
fromIndexThe index to start the search from.
Returns
The index of the last occurence of the string in the underlying array if it was found. npos if the this String does not contain the given substring before the fromIndex.

Definition at line 477 of file String.hpp.

References c_str().

◆ length()

◆ ltrim()

String & BLOCXX_NAMESPACE::String::ltrim ( )

Strip all leading space characters (as defined by the C function isspace()) from this String object.

Returns
A reference to this String object after the operation has taken place.

Definition at line 744 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), m_buf, and String().

◆ operator+=() [1/3]

String & BLOCXX_NAMESPACE::String::operator+= ( char arg)
inline

Character concatination operator.

Parameters
argThe character to append to the end of this String.
Returns
A reference to this String object after the concatination has taken place.

Definition at line 608 of file String.hpp.

◆ operator+=() [2/3]

String & BLOCXX_NAMESPACE::String::operator+= ( const char * arg)
inline

Concatination operator.

Parameters
argThe C string to append to the end of this String.
Returns
A reference to this String object after the concatination has taken place.

Definition at line 601 of file String.hpp.

◆ operator+=() [3/3]

String & BLOCXX_NAMESPACE::String::operator+= ( const String & arg)
inline

Concatination operator.

Parameters
argThe String to append to the end of this String.
Returns
A reference to this String object after the concatination has taken place.

Definition at line 594 of file String.hpp.

◆ operator=()

String & BLOCXX_NAMESPACE::String::operator= ( const String & arg)

Assignment operator.

Parameters
argThe String object to assign to this String.
Returns
A reference to this String object after the assignment has taken place.

Definition at line 898 of file String.cpp.

References m_buf.

◆ operator[]() [1/2]

char & BLOCXX_NAMESPACE::String::operator[] ( size_t ndx)

◆ operator[]() [2/2]

const char & BLOCXX_NAMESPACE::String::operator[] ( size_t ndx) const

Operator [].

Parameters
ndxThe index of the character to retrieve from the underlying character array.
Returns
The character at the given index within the underlying character array. If ndx is out of bounds, 0 is returned.

Definition at line 919 of file String.cpp.

References BLOCXX_ASSERT, BLOCXX_NAMESPACE::cnullChar, BLOCXX_NAMESPACE::String::ByteBuf::data(), BLOCXX_NAMESPACE::String::ByteBuf::length(), length(), and m_buf.

◆ readObject()

void BLOCXX_NAMESPACE::String::readObject ( std::streambuf & istrm)

Read this String object from the given istream.

An String must have been previously written to this location of the stream.

Parameters
istrmThe input stream to read this String from.
Exceptions
IOException

Definition at line 876 of file String.cpp.

References BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), m_buf, BLOCXX_NAMESPACE::BinarySerialization::read(), and BLOCXX_NAMESPACE::BinarySerialization::readLen().

Referenced by BLOCXX_NAMESPACE::BinarySerialization::read(), and BLOCXX_NAMESPACE::BinarySerialization::readString().

◆ rtrim()

String & BLOCXX_NAMESPACE::String::rtrim ( )

Strip all trailing space characters (as defined by the C function isspace()) from this String object.

Returns
A reference to this String object after the operation has taken place.

Definition at line 764 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, and String().

◆ size()

size_t BLOCXX_NAMESPACE::String::size ( ) const
inline
Returns
The number of bytes in this String.

Definition at line 227 of file String.hpp.

Referenced by format().

◆ startsWith() [1/3]

bool BLOCXX_NAMESPACE::String::startsWith ( char arg) const

Determine if this String object starts with a given character.

Parameters
argThe character to test for.
Returns
true if this String object starts with the given character. Otherwise false.

Definition at line 663 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), BLOCXX_NAMESPACE::String::ByteBuf::length(), and m_buf.

◆ startsWith() [2/3]

bool BLOCXX_NAMESPACE::String::startsWith ( const char * arg,
EIgnoreCaseFlag ignoreCase = E_CASE_SENSITIVE ) const

Determine if this String object starts with a given substring.

Parameters
argThe substring to test for. NULL is considered an empty string.
ignoreCaseIf true, case of the characters will be ignored.
Returns
true if this String object starts with arg, i.e., arg is a prefix of *this. Note that the empty string is a prefix of all strings. Otherwise false.

Definition at line 672 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), E_CASE_INSENSITIVE, length(), m_buf, and BLOCXX_NAMESPACE::strncmpi().

Referenced by BLOCXX_NAMESPACE::isPathAbsolute(), and BLOCXX_NAMESPACE::FileSystem::Path::realPath().

◆ startsWith() [3/3]

bool BLOCXX_NAMESPACE::String::startsWith ( const String & arg,
EIgnoreCaseFlag ignoreCase = E_CASE_SENSITIVE ) const
inline

Determine if this String object starts with a given substring.

Parameters
argThe substring to test for.
ignoreCaseIf true, case of the characters will be ignored.
Returns
true if this String object starts with arg, i.e., arg is a prefix of *this. Note that the empty string is a prefix of all strings. Otherwise false.

Definition at line 499 of file String.hpp.

References c_str().

◆ strchr()

const char * BLOCXX_NAMESPACE::String::strchr ( const char * theStr,
int c )
static

Find the first occurrence of a character in a null terminated string.

Parameters
theStrThe string to search for the given character.
cThe character to to search for.
Returns
a pointer to the first occurrence of the character c in the string theStr if found. Otherwise a NULL pointer.

Definition at line 1514 of file String.cpp.

Referenced by indexOf(), tokenize(), and trim().

◆ strtoll()

long long int BLOCXX_NAMESPACE::String::strtoll ( const char * nptr,
char ** endptr,
int base )
static

Convert a null terminated string to an signed 64 bit value.

Parameters
nptrA pointer to beginning of string to convert.
endptrIf not NULL, this function stores the address of the 1st invalid character in *endptr.
baseA number that specifies the base for the number pointed to by nptr.
Returns
The signed 64 bit value of the number represented in string form pointed to by nptr.

Definition at line 1218 of file String.cpp.

References LLONG_MAX, and LLONG_MIN.

Referenced by BLOCXX_NAMESPACE::convertToInt64Type().

◆ strtoull()

unsigned long long int BLOCXX_NAMESPACE::String::strtoull ( const char * nptr,
char ** endptr,
int base )
static

Convert a null terminated string to an unsigned 64 bit value.

Parameters
nptrA pointer to beginning of string to convert.
endptrIf not NULL, this function stores the address of the 1st invalid character in *endptr.
baseA number that specifies the base for the number pointed to by nptr.
Returns
The unsigned 64 bit value of the number represented in string form pointed to by nptr.

Definition at line 1361 of file String.cpp.

References ULLONG_MAX.

Referenced by BLOCXX_NAMESPACE::convertToUInt64Type().

◆ substring()

String BLOCXX_NAMESPACE::String::substring ( size_t beginIndex,
size_t length = npos ) const

Create another String object that is comprised of a substring of this String object.

Parameters
beginIndexThe start index of the substring.
lengthThe length of the substring to use.
Returns
A new String object representing the substring of this String object.

Definition at line 698 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, npos, and String().

Referenced by BLOCXX_NAMESPACE::FileSystem::Path::basename(), BLOCXX_NAMESPACE::CmdLineParser::CmdLineParser(), BLOCXX_NAMESPACE::DateTime::DateTime(), BLOCXX_NAMESPACE::FileSystem::Path::dirname(), erase(), BLOCXX_NAMESPACE::LogMessagePatternFormatter::Converter::formatMessage(), BLOCXX_NAMESPACE::CmdLineParser::getUsage(), and BLOCXX_NAMESPACE::Format::process().

◆ swap()

void BLOCXX_NAMESPACE::String::swap ( String & x)

Swap this instance with another.

Definition at line 339 of file String.cpp.

References m_buf, and BLOCXX_NAMESPACE::COWIntrusiveReference< T >::swap().

Referenced by BLOCXX_NAMESPACE::Logger::swap().

◆ toBool()

bool BLOCXX_NAMESPACE::String::toBool ( ) const
Returns
The boolean value of this String object. The string is assumed to be the value of "TRUE"/"FALSE" ignoring case.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1017 of file String.cpp.

References c_str(), equalsIgnoreCase(), and BLOCXX_NAMESPACE::throwStringConversion().

◆ toChar16()

Char16 BLOCXX_NAMESPACE::String::toChar16 ( ) const

DEPRECATED in favor of Char16::Char16(const String&) in 3.1.0.

Returns
the Char16 value for this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 966 of file String.cpp.

References c_str(), BLOCXX_NAMESPACE::throwStringConversion(), and UTF8Length().

◆ toInt()

int BLOCXX_NAMESPACE::String::toInt ( int base = 10) const
Returns
The int value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1141 of file String.cpp.

References BLOCXX_NAMESPACE::convertToIntType(), and m_buf.

◆ toInt16()

Int16 BLOCXX_NAMESPACE::String::toInt16 ( int base = 10) const
Returns
The Int16 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1105 of file String.cpp.

References BLOCXX_NAMESPACE::convertToIntType(), and m_buf.

◆ toInt32()

Int32 BLOCXX_NAMESPACE::String::toInt32 ( int base = 10) const
Returns
The Int32 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1117 of file String.cpp.

References BLOCXX_NAMESPACE::convertToIntType(), and m_buf.

Referenced by BLOCXX_NAMESPACE::DateTime::DateTime().

◆ toInt64()

Int64 BLOCXX_NAMESPACE::String::toInt64 ( int base = 10) const
Returns
The Int64 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1129 of file String.cpp.

References BLOCXX_NAMESPACE::convertToInt64Type(), and m_buf.

◆ toInt8()

Int8 BLOCXX_NAMESPACE::String::toInt8 ( int base = 10) const
Returns
The Int8 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1093 of file String.cpp.

References BLOCXX_NAMESPACE::convertToIntType(), and m_buf.

◆ tokenize()

StringArray BLOCXX_NAMESPACE::String::tokenize ( const char * delims = " \n\r\t\v",
EReturnDelimitersFlag returnDelimitersAsTokens = E_DISCARD_DELIMITERS,
EEmptyTokenReturnFlag returnEmptyTokens = E_SKIP_EMPTY_TOKENS ) const

Tokenize this String object using the given delimeters.

Parameters
delimsA pointer to a char array of delimeters that separate the tokens in this String object.
returnDelimitersAsTokensIf this flag is E_RETURN_DELIMITERS, then the delimiter characters are also returned as tokens, otherwise the delimiters are removed.
returnEmptyTokensIf this flag is E_RETURN_EMPTY_TOKENS, then two sequential delimiters will result in an empty token being returned.
Returns
An StringArray that contains the tokens from this String object. If there are no tokens the StringArray will be empty.

Definition at line 1147 of file String.cpp.

References BLOCXX_NAMESPACE::Array< T >::append(), BLOCXX_NAMESPACE::String::ByteBuf::data(), E_RETURN_DELIMITERS, E_RETURN_EMPTY_TOKENS, E_RETURN_TOKENS, empty(), BLOCXX_NAMESPACE::AutoPtrVec< X >::get(), i, BLOCXX_NAMESPACE::String::ByteBuf::length(), m_buf, strchr(), and String().

Referenced by BLOCXX_NAMESPACE::DateTime::DateTime(), BLOCXX_NAMESPACE::SyslogAppender::doProcessLogMessage(), and BLOCXX_NAMESPACE::FileSystem::getFileLines().

◆ toLowerCase()

String & BLOCXX_NAMESPACE::String::toLowerCase ( )

Convert this String object to lower case characters.

Returns
A reference to this String object after the conversion has taken place.

Definition at line 849 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), m_buf, BLOCXX_NAMESPACE::UTF8Utils::toLowerCase(), and BLOCXX_NAMESPACE::UTF8Utils::toLowerCaseInPlace().

◆ toReal32()

Real32 BLOCXX_NAMESPACE::String::toReal32 ( ) const
Returns
The Real32 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 997 of file String.cpp.

References BLOCXX_NAMESPACE::convertToRealType(), and m_buf.

◆ toReal64()

Real64 BLOCXX_NAMESPACE::String::toReal64 ( ) const
Returns
The Real64 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1007 of file String.cpp.

References BLOCXX_NAMESPACE::convertToRealType(), and m_buf.

◆ toString()

String BLOCXX_NAMESPACE::String::toString ( ) const
Returns
A copy of this String object.

Definition at line 948 of file String.cpp.

Referenced by BLOCXX_NAMESPACE::DelayedFormat::operator String(), and BLOCXX_NAMESPACE::Format::operator String().

◆ toUInt16()

UInt16 BLOCXX_NAMESPACE::String::toUInt16 ( int base = 10) const
Returns
The UInt16 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1099 of file String.cpp.

References BLOCXX_NAMESPACE::convertToUIntType(), and m_buf.

◆ toUInt32()

UInt32 BLOCXX_NAMESPACE::String::toUInt32 ( int base = 10) const
Returns
The UInt32 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1111 of file String.cpp.

References BLOCXX_NAMESPACE::convertToUIntType(), and m_buf.

◆ toUInt64()

UInt64 BLOCXX_NAMESPACE::String::toUInt64 ( int base = 10) const
Returns
The UInt64 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1123 of file String.cpp.

References BLOCXX_NAMESPACE::convertToUInt64Type(), and m_buf.

◆ toUInt8()

UInt8 BLOCXX_NAMESPACE::String::toUInt8 ( int base = 10) const
Returns
The UInt8 value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1087 of file String.cpp.

References BLOCXX_NAMESPACE::convertToUIntType(), and m_buf.

◆ toUnsignedInt()

unsigned int BLOCXX_NAMESPACE::String::toUnsignedInt ( int base = 10) const
Returns
The unsigned int value of this String object.
Exceptions
StringConversionExceptionif the conversion is impossible.

Definition at line 1135 of file String.cpp.

References BLOCXX_NAMESPACE::convertToUIntType(), and m_buf.

◆ toUpperCase()

String & BLOCXX_NAMESPACE::String::toUpperCase ( )

Convert this String object to upper case characters.

Returns
A reference to this String object after the conversion has taken place.

Definition at line 863 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), m_buf, BLOCXX_NAMESPACE::UTF8Utils::toUpperCase(), and BLOCXX_NAMESPACE::UTF8Utils::toUpperCaseInPlace().

◆ trim()

String & BLOCXX_NAMESPACE::String::trim ( )

Strip all leading and trailing space characters (as defined by the C function isspace()) from this String object.

Returns
A reference to this String object after the operation has taken place.

Definition at line 790 of file String.cpp.

References BLOCXX_NAMESPACE::String::ByteBuf::data(), length(), m_buf, strchr(), and String().

◆ UTF8Length()

size_t BLOCXX_NAMESPACE::String::UTF8Length ( ) const

If the string is not valid UTF-8, then the result of this function is undefined.

Returns
The number of UTF-8 chars in this String.

Definition at line 360 of file String.cpp.

References c_str(), and BLOCXX_NAMESPACE::UTF8Utils::charCount().

Referenced by toChar16().

◆ writeObject()

void BLOCXX_NAMESPACE::String::writeObject ( std::streambuf & ostrm) const

Member Data Documentation

◆ m_buf

◆ npos


The documentation for this class was generated from the following files: