logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

ost::String - This is a generic and portable string class.

Author

       Generated automatically by Doxygen for GNU CommonC++ from the source code.

GNU CommonC++                                    Sun Dec 27 2020                                  ost::String(3)

Constructor & Destructor Documentation

ost::String::String()
       Construct an empty string.

   ost::String::String(constString&original)
       Copy constructor.

       Parametersoriginal string to copy from.

   ost::String::String(constchar*str)
       Create a string from a cstring.

       Parametersstr text to set with.

   ost::String::String(std::stringstring)
       Create a String from std::string.

       Parametersstring from std::string to copy from.

   ost::String::String(constString&str,size_toffset,size_tlen=npos)
       Create a new string from a subset of another string.

       Parametersstr reference of source string.
           offset offset to start of data in prior string.
           len length of our substring.

   ost::String::String(size_tsize,constchar*format,...)
       Create a string from formatted text input.

       Parameterssize to allocate for our new string.
           format of data to input.

   ost::String::String(size_tcount,constcharfill='')
       Fill a new string with character data.

       Parameterscount size of new string.
           fill char to fill string with.

   virtualost::String::~String()[virtual]
       Destroy the string...

Detailed Description

       This is a generic and portable string class.

       It uses optimized memory allocation strategies to efficiently handle smaller string content by grouping
       strings into 32 byte aligned slots that can be re-allocated from a free list directly.

       While meant to cover the basic functionality of the ANSI C++ string class in form and function, this
       class offers some important enhancements, including the ability to derive class type specific versions of
       itself. The latter might be used to derive a unicode string, a string for data and time data types, or to
       add case insensitive comparisons, for example.

       Author
           David Sugar dyfet@ostel.com

       Generic string class.

Member Data Documentation

boolost::String::bigstruct{...}ost::String::bigstringsize_tost::String::lengthcharost::String::lengthstruct{...}ost::String::ministringconstunsignedost::String::minsize[static],[protected]constsize_tost::String::npos[static]constunsignedost::String::pagesize[static],[protected]size_tost::String::sizeconstunsignedost::String::slotcount[static],[protected]constunsignedost::String::slotlimit[static],[protected]constunsignedost::String::slotsize[static],[protected]char*ost::String::textcharost::String::text[(sizeof(char*)+(sizeof(size_t)*2)+1)]

Member Function Documentation

voidost::String::add(charc)
       Add a character to the end of a string.

       Parametersc char to add.

   voidost::String::append(constchar*str,size_tcount=0)
       Append text to the end of the current string.

       Parametersstr text to append.
           count size of text to append.

   voidost::String::append(constchar*str,size_toffset,size_tcount)
       Append text into the current string.

       Parametersstr text to append.
           offset offset to overlay.
           count size of text to append.

   voidost::String::append(constString&str)
       Append string to the end of the current string.

       Parametersstr string to append.

   voidost::String::append(size_tsize,constchar*format,...)
       Append formatted text to the end of the current string.

       Parameterssize size of text to append.
           format of data to append.

   charost::String::at(ssize_toffset)const
       Return a character at a known offset.

       Returns
           character at offset.

   char*ost::String::c_str(void)const[inline]
       Old ANSI C++ compatible string pointer extraction.

       Returns
           string data.

   size_tost::String::capacity(void)const[inline]
       Get space allocated to hold current string.

       Returns
           space of memory buffer from heap or local.

   voidost::String::chop(constchar*cs)[inline]
       Chop leading characters from a string.

       Parameterscs list of chars to chop.

       References ost::strchop().

   voidost::String::chop(size_tchars)[inline]
       Chop n leading characters from a string.

       Parameterschars count to chop.

   voidost::String::clear(void)
       Clear the contents of the entire string.

   voidost::String::compact(void)[inline]
       Reduce the size of the string allocation to the minimum needed based on the current effective length.

   virtualintost::String::compare(constchar*text,size_tlen=0,size_tindex=0)const[protected],[virtual]
       A derivable low level comparison operator. This can be used to create custom comparison data types in
       derived string classes.

       Returns
           0 if match, or value for ordering.

       Parameterstext text to compare.
           len length of text to compare.
           index offset from start of string, used in searchs.

   voidost::String::copy(constString&str)[protected]
       Impliment the copy constructor, used internally. Will always create a minimum sized string allocation.

       Parametersstr string to copy from.

   unsignedost::String::count(constchar*s,size_toffset=0,size_tlen=0)const
       Count the number of occurrences of a specific text pattern within our string.

       Returns
           count of instances.

       Parameterss text pattern to find
           offset offset to start from.
           len length of text pattern if specified.

   unsignedost::String::count(constString&s,size_toffset=0)const
       Count the number of occurences of a specific string within our string.

       Returns
           count of instances.

       Parameterss string to test.
           offset offset to start from.

   char*ost::String::data(void)const[inline]
       Alternate get text method.

       Returns
           string data.

   boolost::String::empty(void)const[inline]
       Return true if string is empty.

   voidost::String::erase(size_tstart,size_tlen=npos)
       Erase a portion of string.

       Parametersstart starting index to erase from.
           len number of characters to erase.

   size_tost::String::find(constchar*s,size_toffset=0,size_tlen=0,unsignedcount=1)const
       Find the index to the nth instance of text in our string.

       Returns
           index of found substring.

       Parameterss string to search for.
           offset offset to start at.
           len size of string text.
           count instance to look for.

   size_tost::String::find(constString&s,size_toffset=0,unsignedinstance=1)const
       Find the index to the nth instance of a substring in our string.

       Returns
           index of found substring.

       Parameterss string to search for.
           offset offset to start at.
           instance instance to look for.

   size_tost::String::find(unsignedinstance,constchar*text,size_toffset=0,size_tlen=0)const[inline]
       A more convenient version of find for nth occurences, by putting the instance first.

       Parametersinstance nth instance to look for.
           text text to look for.
           offset offset to start at.
           len length of text.

       References ost::find().

   size_tost::String::find(unsignedinstance,constString&string,size_toffset=0)const[inline]
       A more convenient version of find for nth occurences, by putting the instance first.

       Parametersinstance nth instance to look for.
           string reference to look for.
           offset offset to start at.

       References ost::find().

   boolost::String::getBool(booldefbool=false)const
       Get the bool flag of a string.

       Returns
           boolean value.

   constchar*ost::String::getIndex(size_tindex)const
       Get a string pointer to string content based on an indexed offset. A NULL is returned if the index is
       outsize of range.

       Returns
           string content or NULL if invalid index.

       Parametersindexconstsize_tost::String::getLength(void)const
       Get the assigned length of string.

       Returns
           string length.

   constsize_tost::String::getSize(void)const
       Get the allocation size of the string variable.

       Returns
           allocation size.

   staticchar*ost::String::getSpace(size_tsize)[static],[protected]
       Used to fetch memory, if needed, based on the size, from the pager, or the system heap.

       Returns
           string pointer to space.

       Parameterssize of space needed.

   char*ost::String::getText(void)const
       Get the text of a string.

       Returns
           string content.

   longost::String::getValue(longdefvalue=0l)const
       Get the value of a string.

       Returns
           string value as number.

   constchar*()ost::String::index(size_tind)const[inline]
       Return an indexed string based on the index, such as from a find. If out of range, a NULL string is
       returned.

       Returns
           pointer to string data from our string,

       Parametersind index or offset to use.

   voidost::String::init(void)[protected]
       Used to initialize a string object.

   voidost::String::insert(size_tstart,constchar*text,size_tlen=0)
       Insert text into a string.

       Parametersstart starting offset to insert at.
           text text to insert.
           len size of text to insert.

   voidost::String::insert(size_tstart,constString&str)
       Insert other string into our string.

       Parametersstart string offset to insert at.
           str string to insert.

   boolost::String::isBig(void)const[inline],[protected]
       Determine if string is allocated in local variable or an external reference.

       Returns
           true if external heap is used.

   boolost::String::isEmpty(void)const
       Return true if string is empty.

       Returns
           true if string is empty string.

   size_tost::String::length(void)const[inline]
       Get length as if null terminated string.

       Returns
           cstring length.

   ost::String::operatorchar*()const[inline]
       Get our string data through dereference operator.

       Returns
           string data.

   boolost::String::operator!(void)const[inline]
       Logical test for string empty.

       Returns
           true if is empty.

   boolost::String::operator!=(constchar*str)constboolost::String::operator!=(constString&str)constboolost::String::operator*=(constchar*str)const
       Test if text is contained in our string.

   boolost::String::operator*=(constString&str)const
       Test if string is contained in our string.

   String&ost::String::operator+=(charc)[inline]
       Append operator.

   String&ost::String::operator+=(constchar*str)[inline]
       Append operator.

   String&ost::String::operator+=(conststd::string&str)[inline]
       Append operator.

   String&ost::String::operator+=(constString&str)[inline]
       Append operator.

   String&ost::String::operator+=(doubled)[inline]String&ost::String::operator+=(floatf)[inline]String&ost::String::operator+=(inti)[inline]
       Append operator.

   String&ost::String::operator+=(longl)[inline]String&ost::String::operator+=(shorts)[inline]String&ost::String::operator+=(unsignedinti)[inline]String&ost::String::operator+=(unsignedlongl)[inline]String&ost::String::operator+=(unsignedshorts)[inline]boolost::String::operator<(constchar*str)constboolost::String::operator<(constString&str)constboolost::String::operator<=(constchar*str)constboolost::String::operator<=(constString&str)constconstchar*ost::String::operator=(constchar*str)[inline]
       Assign our string for c string.

   String&ost::String::operator=(constString&original)[inline]String&ost::String::operator=(doubled)[inline]String&ost::String::operator=(floatf)[inline]String&ost::String::operator=(inti)[inline]
       Assignment operator.

   String&ost::String::operator=(longl)[inline]String&ost::String::operator=(shorts)[inline]String&ost::String::operator=(unsignedinti)[inline]String&ost::String::operator=(unsignedlongl)[inline]String&ost::String::operator=(unsignedshorts)[inline]boolost::String::operator==(constchar*str)constboolost::String::operator==(constString&str)constboolost::String::operator>(constchar*str)constboolost::String::operator>(constString&str)constboolost::String::operator>=(constchar*str)constboolost::String::operator>=(constString&str)constconstcharost::String::operator[](unsignedind)const[inline]
       Extract a character by array indexing.

       Returns
           character code.

   voidost::String::replace(size_tstart,size_tlen,constchar*text,size_tcount=0)
       Replace text at a specific position in the string with new text.

       Parametersstart starting offset to replace at.
           len length of text to remove.
           text text to replace with.
           count size of replacement text.

   voidost::String::replace(size_tstart,size_tlen,constString&string)
       Replace text at a specific position in the string with new string,.

       Parametersstart starting offset to replace at.
           len length of text to remove.
           string reference to replace with.

   voidost::String::resize(size_tsize)
       Re-allocate buffer space for string.

       Parameterssize new size to use.

   size_tost::String::rfind(constchar*s,size_toffset=0,size_tlen=0)const
       Find last occurence of a text in our string.

       Returns
           index of last instance found,

       Parameterss string to search for.
           offset offset to start from.
           len size of string to look for.

   size_tost::String::rfind(constString&s,size_toffset=0)const
       Find last occurence of a substring in our string.

       Returns
           index of last instance found,

       Parameterss string to search for.
           offset offset to start from.

   size_tost::String::search(constchar*text,size_tclen=0,size_toffset=0)const[protected]
       An internal method used to search for a substring starting at a known offset. Used by find and count
       methods.

       Returns
           npos if fails, or offset to text found.

       Parameterstext text to search for.
           clen length of search text.
           offset offset to start from.

   constchar*ost::String::set(constchar*str,size_tlen=0)[protected]
       Set the content of the string variable to the specified string value, and use smart re-allocation
       strategies if appropriate to shrink the size of the variable.

       Parametersstr string to set.
           len length of string if passed.

   voidost::String::set(constString&str)[protected]
       Set the content of the string variable to that of another variable. Uses the string set method.

       Parametersstr string to copy from.

   constchar*ost::String::set(size_tsize,constchar*format,...)[protected]
       Set the content of the string variable to that of a formatted printf style string.

       Parameterssize of string data to set.
           format of string to write into object.

   voidost::String::setLength(size_tlen)[protected]
       Set the length value of the string content.

       Parameterslen size in bytes.

   size_tost::String::setSize(size_tsize)[protected]
       Set the size of allocated space in the string variable (capacity) to a known value. The value is
       recomputed and adjusted based on allocation method.

       Parameterssize in bytes.

   size_tost::String::size(void)const[inline]
       Get actual length of string data.

       Returns
           actual size of string.

   voidost::String::strip(constchar*cs)
       Strip lead and trailing characters from a string.

       Parameterscs list of chars to strip.

   Stringost::String::substr(size_tstart,size_tlen)const[inline]
       Return a new string that contains a specific substring of the current string.

       Returns
           new string.

       Parametersstart starting offset for extracted substring.
           len length of substring.

   char*ost::String::text(void)const[inline]
       Alternate get text method.

       Returns
           string data.

   Stringost::String::token(constchar*delim='0r',size_toffset=0)
       Extract a new string as a token from the current string.

       Returns
           string containing token.

       Parametersdelim deliminator characters.
           offset offset to start from.

   voidost::String::trim(constchar*cs)[inline]
       Trim trailing characters from a string.

       Parameterscs list of chars to trim.

       References ost::strtrim().

   voidost::String::trim(size_tcount)
       Trim n trailing characters from a string.

       Parameterscount number of bytes to trim.

Member Typedef Documentation

typedefsize_tost::String::size_type

Name

       ost::String - This is a generic and portable string class.

Synopsis

       #include <string.h>

       Inherited by ost::SString.

   PublicTypes
       typedef size_t size_typePublicMemberFunctionsString ()
           Construct an empty string.
       String (const String &original)
           Copy constructor.
       String (const char *str)
           Create a string from a cstring.
       String (std::string string)
           Create a String from std::string.
       String (const String &str, size_t offset, size_t len=npos)
           Create a new string from a subset of another string.
       String (size_t size, const char *format,...)
           Create a string from formatted text input.
       String (size_t count, const char fill=' ')
           Fill a new string with character data.
       virtual ~String ()
           Destroy the string...
       const char * getIndex (size_t index) const
           Get a string pointer to string content based on an indexed offset.
       char * getText (void) const
           Get the text of a string.
       long getValue (long defvalue=0l) const
           Get the value of a string.
       bool getBool (bool defbool=false) const
           Get the bool flag of a string.
       const size_t getLength (void) const
           Get the assigned length of string.
       const size_t getSize (void) const
           Get the allocation size of the string variable.
       bool isEmpty (void) const
           Return true if string is empty.
       void resize (size_t size)
           Re-allocate buffer space for string.
       void clear (void)
           Clear the contents of the entire string.
       char at (ssize_t offset) const
           Return a character at a known offset.
       unsigned count (const String &s, size_t offset=0) const
           Count the number of occurences of a specific string within our string.
       unsigned count (const char *s, size_t offset=0, size_t len=0) const
           Count the number of occurrences of a specific text pattern within our string.
       Stringtoken (const char *delim='  0r', size_t offset=0)
           Extract a new string as a token from the current string.
       size_t find (const String &s, size_t offset=0, unsigned instance=1) const
           Find the index to the nth instance of a substring in our string.
       size_t rfind (const String &s, size_t offset=0) const
           Find last occurence of a substring in our string.
       size_t find (const char *s, size_t offset=0, size_t len=0, unsigned count=1) const
           Find the index to the nth instance of text in our string.
       size_t rfind (const char *s, size_t offset=0, size_t len=0) const
           Find last occurence of a text in our string.
       void trim (const char *cs)
           Trim trailing characters from a string.
       void chop (const char *cs)
           Chop leading characters from a string.
       void strip (const char *cs)
           Strip lead and trailing characters from a string.
       void chop (size_t chars)
           Chop n leading characters from a string.
       void trim (size_t count)
           Trim n trailing characters from a string.
       void erase (size_t start, size_t len=npos)
           Erase a portion of string.
       void insert (size_t start, const char *text, size_t len=0)
           Insert text into a string.
       void insert (size_t start, const String &str)
           Insert other string into our string.
       void replace (size_t start, size_t len, const char *text, size_t count=0)
           Replace text at a specific position in the string with new text.
       void replace (size_t start, size_t len, const String &string)
           Replace text at a specific position in the string with new string,.
       size_t find (unsigned instance, const char *text, size_t offset=0, size_t len=0) const
           A more convenient version of find for nth occurences, by putting the instance first.
       size_t find (unsigned instance, const String &string, size_t offset=0) const
           A more convenient version of find for nth occurences, by putting the instance first.
       Stringsubstr (size_t start, size_t len) const
           Return a new string that contains a specific substring of the current string.
       const char *() index (size_t ind) const
           Return an indexed string based on the index, such as from a find.
       void compact (void)
           Reduce the size of the string allocation to the minimum needed based on the current effective length.
       char * c_str (void) const
           Old ANSI C++ compatible string pointer extraction.
       operatorchar* () const
           Get our string data through dereference operator.
       bool operator! (void) const
           Logical test for string empty.
       char * text (void) const
           Alternate get text method.
       char * data (void) const
           Alternate get text method.
       size_t length (void) const
           Get length as if null terminated string.
       size_t size (void) const
           Get actual length of string data.
       size_t capacity (void) const
           Get space allocated to hold current string.
       bool empty (void) const
           Return true if string is empty.
       void append (const char *str, size_t count=0)
           Append text to the end of the current string.
       void append (size_t size, const char *format,...)
           Append formatted text to the end of the current string.
       void append (const char *str, size_t offset, size_t count)
           Append text into the current string.
       void add (char c)
           Add a character to the end of a string.
       void append (const String &str)
           Append string to the end of the current string.
       const char operator[] (unsigned ind) const
           Extract a character by array indexing.
       const char * operator= (const char *str)
           Assign our string for c string.
       String & operator+= (const String &str)
           Append operator.
       String & operator+= (char c)
           Append operator.
       String & operator+= (const char *str)
           Append operator.
       String & operator+= (const std::string &str)
           Append operator.
       bool operator< (const String &str) const
       bool operator< (const char *str) const
       bool operator> (const String &str) const
       bool operator> (const char *str) const
       bool operator<= (const String &str) const
       bool operator<= (const char *str) const
       bool operator>= (const String &str) const
       bool operator>= (const char *str) const
       bool operator== (const String &str) const
       bool operator== (const char *str) const
       bool operator!= (const String &str) const
       bool operator!= (const char *str) const
       String & operator+= (int i)
           Append operator.
       String & operator+= (unsigned int i)
       String & operator+= (long l)
       String & operator+= (unsigned long l)
       String & operator+= (float f)
       String & operator+= (double d)
       String & operator+= (short s)
       String & operator+= (unsigned short s)
       String & operator= (int i)
           Assignment operator.
       String & operator= (unsigned int i)
       String & operator= (long l)
       String & operator= (unsigned long l)
       String & operator= (float f)
       String & operator= (double d)
       String & operator= (short s)
       String & operator= (unsigned short s)
       String & operator= (const String &original)
       bool operator*= (const String &str) const
           Test if string is contained in our string.
       bool operator*= (const char *str) const
           Test if text is contained in our string.

   StaticPublicAttributes
       static const size_t nposProtectedMemberFunctions
       bool isBig (void) const
           Determine if string is allocated in local variable or an external reference.
       const char * set (const char *str, size_t len=0)
           Set the content of the string variable to the specified string value, and use smart re-allocation
           strategies if appropriate to shrink the size of the variable.
       void set (const String &str)
           Set the content of the string variable to that of another variable.
       const char * set (size_t size, const char *format,...)
           Set the content of the string variable to that of a formatted printf style string.
       void copy (const String &str)
           Impliment the copy constructor, used internally.
       void init (void)
           Used to initialize a string object.
       size_t setSize (size_t size)
           Set the size of allocated space in the string variable (capacity) to a known value.
       void setLength (size_t len)
           Set the length value of the string content.
       virtual int compare (const char *text, size_t len=0, size_t index=0) const
           A derivable low level comparison operator.
       size_t search (const char *text, size_t clen=0, size_t offset=0) const
           An internal method used to search for a substring starting at a known offset.

   StaticProtectedMemberFunctions
       static char * getSpace (size_t size)
           Used to fetch memory, if needed, based on the size, from the pager, or the system heap.

   StaticProtectedAttributes
       static const unsigned minsize
       static const unsigned slotsize
       static const unsigned pagesize
       static const unsigned slotlimit
       static const unsigned slotcountFriends
       class StringObject
       class MemPager__EXPORTStringoperator+ (const String &s1, const String &s2)
           Add two strings and return a temporary object.
       __EXPORTStringoperator+ (const String &s1, const char *s2)
       __EXPORTStringoperator+ (const char *s1, const String &s2)
       __EXPORTStringoperator+ (const String &s1, const char c2)
       __EXPORTStringoperator+ (const char c1, const String &s2)
       std::istream & getline (std::istream &is, String &str, char delim, size_t size)
           Fetch input from a std::istream into the current string variable until either the string variable is
           filled (based on current length) or the deliminator is read.
       __EXPORT std::ostream & operator<< (std::ostream &os, const String &str)
           Stream the content of our string variable directly to a C++ streaming source.
       std::istream & operator>> (std::istream &is, String &str)
           Stream input into our variable.
       __EXPORT int strprintf (String &str, size_t size, const char *format,...)
           Print values directly into a string variable.

See Also