ucc::string::cstring Class Reference

This is an internal class which contains the actual string data along with some control fields. More...

#include <string.h>

Inheritance diagram for ucc::string::cstring:

Inheritance graph
[legend]
Collaboration diagram for ucc::string::cstring:

Collaboration graph
[legend]

Public Member Functions

 cstring (strsize_t size)
 Create a cstring node allocated for specified string size.
 cstring (strsize_t size, char fill)
 Create a filled cstring node allocated for specified string size.
void clear (strsize_t offset, strsize_t size)
 Used to clear a string.
void set (strsize_t offset, char *text, strsize_t size)
 Set part or all of a string with new text.
void set (StringFormat &format)
 Set our string from a string formatting object.
void set (char *text)
 Set our string from null terminated text up to our allocated size.
void add (char *text)
 Append null terminated text to our string buffer.
void add (StringFormat &format)
 Append text to string buffer from formatting object.
void add (char character)
 Append a single character to our string buffer.
void fix (void)
 Fill our string buffer to end if fill mode.
void unfix (void)
 Trim filler at end to reduce filled string to null terminated string for further processing.
void inc (strsize_t number)
 Adjust size of our string buffer by deleting characters from start of buffer.
void dec (strsize_t number)
 Adjust size of our string buffer by deleting characters from end of buffer.

Data Fields

strsize_t max
 Allocated size of cstring text.
strsize_t len
 Current length of cstring text.
char fill
 Filler character or 0 for none.
char text [1]
 Null terminated text, in overdraft space.

Detailed Description

This is an internal class which contains the actual string data along with some control fields.

The string can be either NULL terminated or filled like a Pascal-style string, but with a user selected fill character. The cstring object is an overdraft object, as the actual string text which is of unknown size follows immediately after the class control data. This class is primarely for internal use.

Author:
David Sugar <dyfet@gnutelephony.org>

Definition at line 89 of file string.h.


Constructor & Destructor Documentation

ucc::string::cstring::cstring ( strsize_t  size  ) 

Create a cstring node allocated for specified string size.

The new operator would also need the size as an overdraft value.

Parameters:
size of string.

ucc::string::cstring::cstring ( strsize_t  size,
char  fill 
)

Create a filled cstring node allocated for specified string size.

The new operator would also need the size as an overdraft value. The newly allocated string is filled with the fill value.

Parameters:
size of string.
fill character value to fill string with.


Member Function Documentation

void ucc::string::cstring::add ( char  character  ) 

Append a single character to our string buffer.

Parameters:
character to append.

void ucc::string::cstring::add ( StringFormat format  ) 

Append text to string buffer from formatting object.

Parameters:
format object to add from.

void ucc::string::cstring::add ( char *  text  ) 

Append null terminated text to our string buffer.

Parameters:
text to append.

void ucc::string::cstring::clear ( strsize_t  offset,
strsize_t  size 
)

Used to clear a string.

If null terminated, then the string ends at the offset, otherwise it is simply filled with fill data up to the specified size.

Parameters:
offset to clear from.
size of field to clear.

void ucc::string::cstring::dec ( strsize_t  number  ) 

Adjust size of our string buffer by deleting characters from end of buffer.

Parameters:
number of characters to delete.

void ucc::string::cstring::inc ( strsize_t  number  ) 

Adjust size of our string buffer by deleting characters from start of buffer.

Parameters:
number of characters to delete.

void ucc::string::cstring::set ( char *  text  ) 

Set our string from null terminated text up to our allocated size.

Parameters:
text to set from.

void ucc::string::cstring::set ( StringFormat format  ) 

Set our string from a string formatting object.

Parameters:
format object to set from.

void ucc::string::cstring::set ( strsize_t  offset,
char *  text,
strsize_t  size 
)

Set part or all of a string with new text.

Parameters:
offset to set from.
text to insert from null terminated string.
size of field to modify. This is filled for fill mode.


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

Generated on Mon Jul 27 21:11:23 2009 for UCommon by  doxygen 1.5.9