blocxx
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
BLOCXX_NAMESPACE::StringBuffer Class Reference

#include <StringBuffer.hpp>

Public Member Functions

 StringBuffer (size_t allocSize=BLOCXX_DEFAULT_ALLOCATION_UNIT)
 
 StringBuffer (const char *arg)
 
 StringBuffer (const String &arg)
 
 StringBuffer (const StringBuffer &arg)
 
 ~StringBuffer ()
 
StringBufferoperator= (const StringBuffer &arg)
 
StringBufferoperator= (const String &arg)
 
StringBufferoperator= (const char *str)
 
void swap (StringBuffer &x)
 
StringBufferappend (char c)
 
StringBufferappend (const char *str)
 
StringBufferappend (const char *str, const size_t len)
 
StringBufferappend (const String &arg)
 
StringBufferappend (const StringBuffer &arg)
 
StringBufferoperator+= (char c)
 
StringBufferoperator+= (Char16 c)
 
StringBufferoperator+= (const char *str)
 
StringBufferoperator+= (const String &arg)
 
StringBufferoperator+= (Bool v)
 
StringBufferoperator+= (UInt8 v)
 
StringBufferoperator+= (Int8 v)
 
StringBufferoperator+= (UInt16 v)
 
StringBufferoperator+= (Int16 v)
 
StringBufferoperator+= (UInt32 v)
 
StringBufferoperator+= (Int32 v)
 
StringBufferoperator+= (UInt64 v)
 
StringBufferoperator+= (Int64 v)
 
StringBufferoperator+= (Real32 v)
 
StringBufferoperator+= (Real64 v)
 
StringBufferoperator+= (const StringBuffer &arg)
 
char operator[] (size_t ndx) const
 
String toString () const
 
String releaseString ()
 
size_t length () const
 
void truncate (size_t index)
 Truncate the string at the given index. More...
 
const char * getLine (std::istream &is, bool resetBuffer=true)
 Fill this StringBuffer object with the next line from the given input stream. More...
 
bool endsWith (char ch) const
 
bool startsWith (char ch) const
 
void chop ()
 
void trim ()
 
size_t allocated () const
 
void reset ()
 
const char * c_str () const
 
bool equals (const char *arg) const
 
bool equals (const StringBuffer &arg) const
 

Static Public Attributes

static const size_t BLOCXX_DEFAULT_ALLOCATION_UNIT = 128
 

Private Member Functions

void checkAvail (size_t len=1)
 

Private Attributes

size_t m_len
 
size_t m_allocated
 
char * m_bfr
 

Friends

BLOCXX_COMMON_API std::ostream & operator<< (std::ostream &ostr, const StringBuffer &b)
 

Detailed Description

Definition at line 81 of file StringBuffer.hpp.

Constructor & Destructor Documentation

◆ StringBuffer() [1/4]

BLOCXX_NAMESPACE::StringBuffer::StringBuffer ( size_t  allocSize = BLOCXX_DEFAULT_ALLOCATION_UNIT)

Definition at line 92 of file StringBuffer.cpp.

◆ StringBuffer() [2/4]

BLOCXX_NAMESPACE::StringBuffer::StringBuffer ( const char *  arg)

Definition at line 100 of file StringBuffer.cpp.

References swap().

◆ StringBuffer() [3/4]

BLOCXX_NAMESPACE::StringBuffer::StringBuffer ( const String arg)

Definition at line 108 of file StringBuffer.cpp.

References swap().

◆ StringBuffer() [4/4]

BLOCXX_NAMESPACE::StringBuffer::StringBuffer ( const StringBuffer arg)

Definition at line 116 of file StringBuffer.cpp.

References m_allocated, m_bfr, m_len, and BLOCXX_NAMESPACE::swap().

◆ ~StringBuffer()

BLOCXX_NAMESPACE::StringBuffer::~StringBuffer ( )
inline

Definition at line 123 of file StringBuffer.hpp.

References BLOCXX_NAMESPACE::String::E_TAKE_OWNERSHIP.

Member Function Documentation

◆ allocated()

size_t BLOCXX_NAMESPACE::StringBuffer::allocated ( ) const
inline

Definition at line 212 of file StringBuffer.hpp.

◆ append() [1/5]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::append ( char  c)
inline

◆ append() [2/5]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::append ( const char *  str)
inline

Definition at line 135 of file StringBuffer.hpp.

◆ append() [3/5]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::append ( const char *  str,
const size_t  len 
)

Definition at line 314 of file StringBuffer.cpp.

◆ append() [4/5]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::append ( const String arg)
inline

Definition at line 144 of file StringBuffer.hpp.

◆ append() [5/5]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::append ( const StringBuffer arg)
inline

Definition at line 146 of file StringBuffer.hpp.

◆ c_str()

const char* BLOCXX_NAMESPACE::StringBuffer::c_str ( ) const
inline

Definition at line 214 of file StringBuffer.hpp.

◆ checkAvail()

void BLOCXX_NAMESPACE::StringBuffer::checkAvail ( size_t  len = 1)
inlineprivate

Definition at line 219 of file StringBuffer.hpp.

◆ chop()

void BLOCXX_NAMESPACE::StringBuffer::chop ( )

Definition at line 352 of file StringBuffer.cpp.

◆ endsWith()

bool BLOCXX_NAMESPACE::StringBuffer::endsWith ( char  ch) const

Definition at line 338 of file StringBuffer.cpp.

◆ equals() [1/2]

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

Definition at line 324 of file StringBuffer.cpp.

◆ equals() [2/2]

bool BLOCXX_NAMESPACE::StringBuffer::equals ( const StringBuffer arg) const

Definition at line 331 of file StringBuffer.cpp.

◆ getLine()

const char * BLOCXX_NAMESPACE::StringBuffer::getLine ( std::istream &  is,
bool  resetBuffer = true 
)

Fill this StringBuffer object with the next line from the given input stream.

Parameters
isThe input stream to retrieve the next line from
Returns
const char* pointer to the line of text just read.

Definition at line 392 of file StringBuffer.cpp.

Referenced by BLOCXX_NAMESPACE::String::getLine().

◆ length()

size_t BLOCXX_NAMESPACE::StringBuffer::length ( ) const
inline

◆ operator+=() [1/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Bool  v)

Definition at line 179 of file StringBuffer.cpp.

◆ operator+=() [2/16]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::operator+= ( char  c)
inline

Definition at line 150 of file StringBuffer.hpp.

◆ operator+=() [3/16]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::operator+= ( Char16  c)
inline

Definition at line 152 of file StringBuffer.hpp.

◆ operator+=() [4/16]

StringBuffer& BLOCXX_NAMESPACE::StringBuffer::operator+= ( const char *  str)
inline

Definition at line 154 of file StringBuffer.hpp.

◆ operator+=() [5/16]

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

Definition at line 156 of file StringBuffer.hpp.

◆ operator+=() [6/16]

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

Definition at line 174 of file StringBuffer.hpp.

◆ operator+=() [7/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Int16  v)

Definition at line 212 of file StringBuffer.cpp.

◆ operator+=() [8/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Int32  v)

Definition at line 228 of file StringBuffer.cpp.

◆ operator+=() [9/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Int64  v)

Definition at line 266 of file StringBuffer.cpp.

◆ operator+=() [10/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Int8  v)

Definition at line 196 of file StringBuffer.cpp.

◆ operator+=() [11/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Real32  v)

Definition at line 279 of file StringBuffer.cpp.

◆ operator+=() [12/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( Real64  v)

Definition at line 295 of file StringBuffer.cpp.

◆ operator+=() [13/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( UInt16  v)

Definition at line 204 of file StringBuffer.cpp.

◆ operator+=() [14/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( UInt32  v)

Definition at line 220 of file StringBuffer.cpp.

◆ operator+=() [15/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( UInt64  v)

Definition at line 254 of file StringBuffer.cpp.

◆ operator+=() [16/16]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator+= ( UInt8  v)

Definition at line 188 of file StringBuffer.cpp.

◆ operator=() [1/3]

StringBuffer & BLOCXX_NAMESPACE::StringBuffer::operator= ( const char *  str)

Definition at line 131 of file StringBuffer.cpp.

◆ operator=() [2/3]

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

Definition at line 124 of file StringBuffer.cpp.

◆ operator=() [3/3]

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

Definition at line 138 of file StringBuffer.cpp.

◆ operator[]()

char BLOCXX_NAMESPACE::StringBuffer::operator[] ( size_t  ndx) const

Definition at line 172 of file StringBuffer.cpp.

◆ releaseString()

String BLOCXX_NAMESPACE::StringBuffer::releaseString ( )
inline

◆ reset()

void BLOCXX_NAMESPACE::StringBuffer::reset ( )

◆ startsWith()

bool BLOCXX_NAMESPACE::StringBuffer::startsWith ( char  ch) const

Definition at line 345 of file StringBuffer.cpp.

◆ swap()

void BLOCXX_NAMESPACE::StringBuffer::swap ( StringBuffer x)

Definition at line 145 of file StringBuffer.cpp.

Referenced by StringBuffer().

◆ toString()

String BLOCXX_NAMESPACE::StringBuffer::toString ( ) const
inline

Definition at line 179 of file StringBuffer.hpp.

◆ trim()

void BLOCXX_NAMESPACE::StringBuffer::trim ( )

Definition at line 362 of file StringBuffer.cpp.

◆ truncate()

void BLOCXX_NAMESPACE::StringBuffer::truncate ( size_t  index)

Truncate the string at the given index.

This doesn't change anything before the given index and does not free up any memory.

Parameters
indexThe index to truncate the string buffer at. If this value is greater than the current length of the StringBuffer, then nothing is done.

Definition at line 161 of file StringBuffer.cpp.

Referenced by BLOCXX_NAMESPACE::LogMessagePatternFormatter::Converter::Converter().

Friends And Related Function Documentation

◆ operator<<

BLOCXX_COMMON_API std::ostream& operator<< ( std::ostream &  ostr,
const StringBuffer b 
)
friend

Definition at line 435 of file StringBuffer.cpp.

Member Data Documentation

◆ BLOCXX_DEFAULT_ALLOCATION_UNIT

const size_t BLOCXX_NAMESPACE::StringBuffer::BLOCXX_DEFAULT_ALLOCATION_UNIT = 128
static

Definition at line 117 of file StringBuffer.hpp.

◆ m_allocated

size_t BLOCXX_NAMESPACE::StringBuffer::m_allocated
private

Definition at line 234 of file StringBuffer.hpp.

Referenced by StringBuffer().

◆ m_bfr

char* BLOCXX_NAMESPACE::StringBuffer::m_bfr
private

Definition at line 235 of file StringBuffer.hpp.

Referenced by StringBuffer().

◆ m_len

size_t BLOCXX_NAMESPACE::StringBuffer::m_len
private

Definition at line 233 of file StringBuffer.hpp.

Referenced by StringBuffer().


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