#include <memory.h>
Inheritance diagram for ucommon::StringPager:


Public Types | |
| typedef linked_pointer< StringPager::member > | iterator |
| Convenience typedef for iterative pointer. | |
Public Member Functions | |
| void | add (char **list) |
| Add list to list. | |
| void | add (char *text) |
| Add text to list. | |
| char * | at (unsigned item) |
| StringPager::member * | begin (void) |
| Get root of pager list. | |
| void | clear (void) |
| Purge all members and release pager member. | |
| unsigned | count (void) |
| Get the number of items in the pager string list. | |
| virtual bool | filter (char *text, size_t size) |
| Filter text in a derived class. | |
| char * | get (unsigned item) |
| Get string item from list. | |
| String | join (char *prefix=((void *) 0), char *middle=((void *) 0), char *suffix=((void *) 0)) |
| char ** | list (void) |
| Gather index list. | |
| char * | operator * () |
| operator bool () | |
| operator char ** () | |
| bool | operator! () |
| void | operator+= (char *text) |
| Convenience operator to add to pager and auto-sort. | |
| StringPager & | operator<< (char *text) |
| Convenience operator to add to pager. | |
| StringPager & | operator= (char **list) |
| StringPager & | operator>> (char *text) |
| char * | operator[] (unsigned item) |
| Return specified member from pager list. | |
| unsigned | pages (void) |
| Get the number of pages that have been allocated from the real heap. | |
| char * | pop (void) |
| Remove element from back of list. | |
| char * | pull (void) |
| Remove element from front of list. | |
| void | push (char **text) |
| Add text list to front of list. | |
| void | push (char *text) |
| Add text to front of list. | |
| void | set (char **list) |
| Set list to list. | |
| void | set (unsigned item, char *string) |
| Replace string item in list. | |
| size_t | size (void) |
| Get the size of a memory page. | |
| void | sort (void) |
| Sort members. | |
| unsigned | split (stringex_t &expr, char *string, unsigned flags=0) |
| unsigned | split (char *text, char *string, unsigned flags=0) |
| StringPager (char **list, size_t pagesize=256) | |
| StringPager (size_t pagesize=256) | |
| Create a pager with a maximum page size. | |
| unsigned | token (char *text, char *list, char *quote=((void *) 0), char *end=((void *) 0)) |
| Tokenize a string and add each token to the StringPager. | |
Protected Member Functions | |
| virtual char * | invalid (void) |
Data Structures | |
| class | member |
| Member of string list. More... | |
This is used for accumulating lists which can be destroyed all at once.
Definition at line 364 of file memory.h.
| ucommon::StringPager::StringPager | ( | size_t | pagesize = 256 |
) |
Create a pager with a maximum page size.
| size | of pager allocation pages. |
| 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. |
| void ucommon::StringPager::add | ( | char * | text | ) |
Add text to list.
| text | to add. |
| StringPager::member* ucommon::StringPager::begin | ( | void | ) | [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 | ) | [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.
| char* ucommon::StringPager::get | ( | unsigned | item | ) |
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+= | ( | char * | text | ) | [inline] |
| StringPager& ucommon::StringPager::operator<< | ( | char * | text | ) | [inline] |
| char* ucommon::StringPager::operator[] | ( | unsigned | item | ) | [inline] |
Return specified member from pager list.
This is a convenience operator.
| item | to access. |
Reimplemented in ucommon::DirPager.
| unsigned ucommon::StringPager::pages | ( | void | ) | [inline] |
Get the number of pages that have been allocated from the real heap.
Reimplemented from ucommon::memalloc.
Reimplemented in ucommon::DirPager.
| char* ucommon::StringPager::pop | ( | void | ) |
Remove element from back of list.
Does not release memory.
| char* ucommon::StringPager::pull | ( | void | ) |
Remove element from front of list.
Does not release memory.
Referenced by ucommon::shift().
| void ucommon::StringPager::push | ( | char ** | text | ) |
Add text list to front of list.
| text | to add. |
| void ucommon::StringPager::push | ( | char * | text | ) |
| 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. |
| void ucommon::StringPager::set | ( | unsigned | item, | |
| char * | string | |||
| ) |
Replace string item in list.
| item | to replace. | |
| string | to replace with. |
| size_t ucommon::StringPager::size | ( | void | ) | [inline] |
Get the size of a memory page.
Reimplemented from ucommon::memalloc.
Reimplemented in ucommon::DirPager.
| unsigned ucommon::StringPager::token | ( | char * | text, | |
| char * | list, | |||
| char * | quote = ((void *) 0), |
|||
| 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. |
1.4.7