UCommon
|
String pager for storing lists of NULL terminated strings. More...
#include <memory.h>
Data Structures | |
class | member |
Member of string list. More... | |
Public Types | |
typedef linked_pointer < StringPager::member > | iterator |
Convenience typedef for iterative pointer. | |
Public Member Functions | |
void | add (const char *text) |
Add text to list. | |
void | add (char **list) |
Add list to list. | |
const char * | at (unsigned item) const |
StringPager::member * | begin (void) const |
Get root of pager list. | |
void | clear (void) |
Purge all members and release pager member. | |
unsigned | count (void) const |
Get the number of items in the pager string list. | |
virtual bool | filter (char *text, size_t size) |
Filter text in a derived class. | |
const char * | get (unsigned item) const |
Get string item from list. | |
String | join (const char *prefix=((void *) 0), const char *middle=((void *) 0), const char *suffix=((void *) 0)) |
char ** | list (void) |
Gather index list. | |
operator bool () | |
operator char ** () | |
bool | operator! () |
const char * | operator* () |
void | operator+= (const char *text) |
Convenience operator to add to pager and auto-sort. | |
StringPager & | operator<< (const char *text) |
Convenience operator to add to pager. | |
StringPager & | operator= (char **list) |
StringPager & | operator>> (const char *text) |
const char * | operator[] (unsigned item) const |
Return specified member from pager list. | |
unsigned | pages (void) const |
Get the number of pages that have been allocated from the real heap. | |
const char * | pop (void) |
Remove element from back of list. | |
const char * | pull (void) |
Remove element from front of list. | |
void | push (const char *text) |
Add text to front of list. | |
void | push (char **text) |
Add text list to front of list. | |
void | set (unsigned item, const char *string) |
Replace string item in list. | |
void | set (char **list) |
Set list to list. | |
size_t | size (void) const |
Get the size of a memory page. | |
void | sort (void) |
Sort members. | |
unsigned | split (const char *text, const char *string, unsigned flags=0) |
unsigned | split (stringex_t &expr, const char *string, unsigned flags=0) |
StringPager (size_t pagesize=256) | |
Create a pager with a maximum page size. | |
StringPager (char **list, size_t pagesize=256) | |
unsigned | token (const char *text, const char *list, const char *quote=((void *) 0), const char *end=((void *) 0)) |
Tokenize a string and add each token to the StringPager. | |
Protected Member Functions | |
virtual const char * | invalid (void) const |
String pager for storing lists of NULL terminated strings.
This is used for accumulating lists which can be destroyed all at once.
ucommon::StringPager::StringPager | ( | size_t | pagesize = 256 | ) |
Create a pager with a maximum page size.
size | of pager allocation pages. |
void ucommon::StringPager::add | ( | const char * | text | ) |
Add text to list.
text | to add. |
void ucommon::StringPager::add | ( | char ** | list | ) |
Add list to list.
This is a list of string pointers terminated with NULL.
list | of text to add. |
StringPager::member* ucommon::StringPager::begin | ( | void | ) | const [inline] |
void ucommon::StringPager::clear | ( | void | ) |
Purge all members and release pager member.
The list can then be added to again.
unsigned ucommon::StringPager::count | ( | void | ) | const [inline] |
Get the number of items in the pager string list.
Reimplemented in ucommon::DirPager.
virtual bool ucommon::StringPager::filter | ( | char * | text, |
size_t | size | ||
) | [virtual] |
Filter text in a derived class.
The base class filter removes newlines at end of text and filters out empty strings.
text | to filter. |
size | of text buffer for transforms. |
Reimplemented in ucommon::DirPager.
const char* ucommon::StringPager::get | ( | unsigned | item | ) | const |
Get string item from list.
This is useful when StringPager is passed as a pointer and hence inconvenient for the [] operator.
item | to access. |
Reimplemented in ucommon::DirPager.
char** ucommon::StringPager::list | ( | void | ) |
Gather index list.
void ucommon::StringPager::operator+= | ( | const char * | text | ) | [inline] |
StringPager& ucommon::StringPager::operator<< | ( | const char * | text | ) | [inline] |
const char* ucommon::StringPager::operator[] | ( | unsigned | item | ) | const [inline] |
Return specified member from pager list.
This is a convenience operator.
item | to access. |
Reimplemented in ucommon::DirPager.
unsigned ucommon::StringPager::pages | ( | void | ) | const [inline] |
Get the number of pages that have been allocated from the real heap.
Reimplemented from ucommon::memalloc.
Reimplemented in ucommon::DirPager.
Definition at line 579 of file memory.h.
const char* ucommon::StringPager::pop | ( | void | ) |
Remove element from back of list.
Does not release memory.
const char* ucommon::StringPager::pull | ( | void | ) |
Remove element from front of list.
Does not release memory.
void ucommon::StringPager::push | ( | const char * | text | ) |
Add text to front of list.
text | to add. |
void ucommon::StringPager::push | ( | char ** | text | ) |
Add text list to front of list.
text | to add. |
void ucommon::StringPager::set | ( | unsigned | item, |
const char * | string | ||
) |
Replace string item in list.
item | to replace. |
string | to replace with. |
void ucommon::StringPager::set | ( | char ** | list | ) |
Set list to list.
This is a list of string pointers terminated with NULL.
list | of text to set. |
size_t ucommon::StringPager::size | ( | void | ) | const [inline] |
Get the size of a memory page.
Reimplemented from ucommon::memalloc.
Reimplemented in ucommon::DirPager.
Definition at line 576 of file memory.h.
unsigned ucommon::StringPager::token | ( | const char * | text, |
const char * | list, | ||
const char * | quote = ((void *) 0) , |
||
const char * | end = ((void *) 0) |
||
) |
Tokenize a string and add each token to the StringPager.
text | to tokenize. |
list | of characters to use as token separators. |
quote | pairs of characters for quoted text or NULL if not used. |
end | of line marker characters or NULL if not used. |