StringPager Class Reference
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 (char **list) |
| | Add list to list.
|
| void | add (const char *text) |
| | Add text 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=NULL, const char *middle=NULL, const char *suffix=NULL) |
| 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 char * | pop (void) |
| | Remove element from back of list.
|
| const char * | pull (void) |
| | Remove element from front of list.
|
| void | push (char **text) |
| | Add text list to front of list.
|
| void | push (const char *text) |
| | Add text to front of list.
|
| void | set (char **list) |
| | Set list to list.
|
| void | set (unsigned item, const char *string) |
| | Replace string item in list.
|
|
size_t | size (void) |
|
void | sort (void) |
| | Sort members.
|
|
unsigned | split (stringex_t &expr, const char *string, unsigned flags=0) |
|
unsigned | split (const char *text, const 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 (const char *text, const char *list, const char *quote=NULL, const char *end=NULL) |
| | Tokenize a string and add each token to the StringPager.
|
Protected Member Functions |
|
virtual const char * | invalid (void) const |
Detailed Description
String pager for storing lists of NULL terminated strings.
This is used for accumulating lists which can be destroyed all at once.
- Author:
- David Sugar <dyfet@gnutelephony.org>
Definition at line 364 of file memory.h.
Constructor & Destructor Documentation
| StringPager::StringPager |
( |
size_t |
pagesize = 256 |
) |
|
Create a pager with a maximum page size.
- Parameters:
-
| size | of pager allocation pages. |
Member Function Documentation
| void StringPager::add |
( |
char ** |
list |
) |
|
Add list to list.
This is a list of string pointers terminated with NULL.
- Parameters:
-
| void StringPager::add |
( |
const char * |
text |
) |
|
Add text to list.
- Parameters:
-
Get root of pager list.
This is useful for externally enumerating the list of strings.
- Returns:
- first member of list or NULL if empty.
Definition at line 508 of file memory.h.
| void StringPager::clear |
( |
void |
|
) |
|
Purge all members and release pager member.
The list can then be added to again.
| unsigned StringPager::count |
( |
void |
|
) |
const [inline] |
Get the number of items in the pager string list.
- Returns:
- number of items stored.
Reimplemented in DirPager.
Definition at line 423 of file memory.h.
| virtual bool 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.
- Parameters:
-
| text | to filter. |
| size | of text buffer for transforms. |
- Returns:
- false if end of data.
Reimplemented in DirPager.
| const char* 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.
- Parameters:
-
- Returns:
- pointer to text for item, or NULL if out of range.
Reimplemented in DirPager.
| char** StringPager::list |
( |
void |
|
) |
|
Gather index list.
- Returns:
- index.
| void StringPager::operator+= |
( |
const char * |
text |
) |
[inline] |
Convenience operator to add to pager and auto-sort.
- Parameters:
-
Definition at line 515 of file memory.h.
| StringPager& StringPager::operator<< |
( |
const char * |
text |
) |
[inline] |
Convenience operator to add to pager.
- Parameters:
-
Definition at line 522 of file memory.h.
| const char* StringPager::operator[] |
( |
unsigned |
item |
) |
const [inline] |
Return specified member from pager list.
This is a convenience operator.
- Parameters:
-
- Returns:
- text of item or NULL if invalid.
Reimplemented in DirPager.
Definition at line 497 of file memory.h.
| const char* StringPager::pop |
( |
void |
|
) |
|
Remove element from back of list.
Does not release memory.
- Returns:
- text removed.
| const char* StringPager::pull |
( |
void |
|
) |
|
Remove element from front of list.
Does not release memory.
- Returns:
- text removed.
| void StringPager::push |
( |
char ** |
text |
) |
|
Add text list to front of list.
- Parameters:
-
| void StringPager::push |
( |
const char * |
text |
) |
|
Add text to front of list.
- Parameters:
-
| void StringPager::set |
( |
char ** |
list |
) |
|
Set list to list.
This is a list of string pointers terminated with NULL.
- Parameters:
-
| void StringPager::set |
( |
unsigned |
item, |
|
|
const char * |
string | |
|
) |
| | |
Replace string item in list.
- Parameters:
-
| item | to replace. |
| string | to replace with. |
| unsigned StringPager::token |
( |
const char * |
text, |
|
|
const char * |
list, |
|
|
const char * |
quote = NULL, |
|
|
const char * |
end = NULL | |
|
) |
| | |
Tokenize a string and add each token to the StringPager.
- Parameters:
-
| 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. |
- Returns:
- number of tokens parsed.
The documentation for this class was generated from the following file: