Public Member Functions | Data Fields

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

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

Data Fields

char fill
 Filler character or 0 for none.
strsize_t len
 Current length of cstring text.
strsize_t max
 Allocated size of cstring text.
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 94 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 ( const char *  text  ) 

Append null terminated text to our string buffer.

Parameters:
text to append.
void ucc::string::cstring::add ( const StringFormat format  ) 

Append text to string buffer from formatting object.

Parameters:
format object to add from.
void ucc::string::cstring::add ( char  character  ) 

Append a single character to our string buffer.

Parameters:
character 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 ( strsize_t  offset,
const 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.
void ucc::string::cstring::set ( const char *  text  ) 

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

Parameters:
text to set from.
void ucc::string::cstring::set ( const StringFormat format  ) 

Set our string from a string formatting object.

Parameters:
format object to set from.

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