String pager for storing lists of NULL terminated strings.
More...
#include <memory.h>
|
| void | add (char **list) |
| | Add list to list.
|
| |
| void | add (const char *text) |
| | Add text to list.
|
| |
| void | assign (StringPager &source) |
| | Assign foreign pager to us.
|
| |
| 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 () const |
| |
| | operator char ** () |
| |
| bool | operator! () const |
| |
| 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 |
| |
| 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) const |
| |
|
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 (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.
|
| |
|
| virtual void * | _alloc (size_t size) |
| | Allocate memory from the pager heap.
|
| |
| page_t * | pager (void) |
| | Acquire a new page from the heap.
|
| |
| void | assign (memalloc &source) |
| | Assign foreign pager to us.
|
| |
| unsigned | max (void) const |
| | Get the maximum number of pages that are permitted.
|
| |
|
| memalloc (const memalloc ©) |
| |
| | memalloc (size_t page=0) |
| | Construct a memory pager.
|
| |
| unsigned | pages (void) const |
| | Get the number of pages that have been allocated from the real heap.
|
| |
|
void | purge (void) |
| | Purge all allocated memory and heap pages immediately.
|
| |
| size_t | size (void) const |
| | Get the size of a memory page.
|
| |
| unsigned | utilization (void) const |
| | Determine fragmentation level of acquired heap pages.
|
| |
| virtual | ~memalloc () |
| | Destroy a memory pager.
|
| |
| unsigned | limit |
| |
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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 401 of file memory.h.
◆ iterator
Convenience typedef for iterative pointer.
Definition at line 624 of file memory.h.
◆ StringPager()
| ucommon::StringPager::StringPager |
( |
size_t | pagesize = 256 | ) |
|
Create a pager with a maximum page size.
- Parameters
-
| size | of pager allocation pages. |
◆ add() [1/2]
| void ucommon::StringPager::add |
( |
char ** | list | ) |
|
Add list to list.
This is a list of string pointers terminated with NULL.
- Parameters
-
◆ add() [2/2]
| void ucommon::StringPager::add |
( |
const char * | text | ) |
|
Add text to list.
- Parameters
-
◆ assign()
| void ucommon::StringPager::assign |
( |
StringPager & | source | ) |
|
Assign foreign pager to us.
This relocates the heap references to our object, clears the other object.
◆ at()
| const char * ucommon::StringPager::at |
( |
unsigned | item | ) |
const |
|
inline |
◆ begin()
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 547 of file memory.h.
◆ clear()
| void ucommon::StringPager::clear |
( |
void | | ) |
|
Purge all members and release pager member.
The list can then be added to again.
◆ count()
| unsigned ucommon::StringPager::count |
( |
void | | ) |
const |
|
inline |
Get the number of items in the pager string list.
- Returns
- number of items stored.
Definition at line 459 of file memory.h.
◆ filter()
| 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.
- Parameters
-
| text | to filter. |
| size | of text buffer for transforms. |
- Returns
- false if end of data.
Reimplemented in ucommon::DirPager.
◆ get()
| 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.
- Parameters
-
- Returns
- pointer to text for item, or NULL if out of range.
◆ list()
| char ** ucommon::StringPager::list |
( |
void | | ) |
|
Gather index list.
- Returns
- index.
◆ operator bool()
| ucommon::StringPager::operator bool |
( |
| ) |
const |
|
inline |
◆ operator char **()
| ucommon::StringPager::operator char ** |
( |
| ) |
|
|
inline |
◆ operator!()
| bool ucommon::StringPager::operator! |
( |
| ) |
const |
|
inline |
◆ operator*()
| const char * ucommon::StringPager::operator* |
( |
| ) |
|
|
inline |
◆ operator+=()
| void ucommon::StringPager::operator+= |
( |
const char * | text | ) |
|
|
inline |
Convenience operator to add to pager and auto-sort.
- Parameters
-
Definition at line 555 of file memory.h.
◆ operator<<()
| StringPager & ucommon::StringPager::operator<< |
( |
const char * | text | ) |
|
|
inline |
Convenience operator to add to pager.
- Parameters
-
Definition at line 563 of file memory.h.
◆ operator=()
| StringPager & ucommon::StringPager::operator= |
( |
char ** | list | ) |
|
|
inline |
◆ operator>>()
| StringPager & ucommon::StringPager::operator>> |
( |
const char * | text | ) |
|
|
inline |
◆ operator[]()
| const char * ucommon::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.
Definition at line 534 of file memory.h.
◆ pages()
| unsigned ucommon::StringPager::pages |
( |
void | | ) |
const |
|
inline |
◆ pop()
| const char * ucommon::StringPager::pop |
( |
void | | ) |
|
Remove element from back of list.
Does not release memory.
- Returns
- text removed.
◆ pull()
| const char * ucommon::StringPager::pull |
( |
void | | ) |
|
Remove element from front of list.
Does not release memory.
- Returns
- text removed.
◆ push() [1/2]
| void ucommon::StringPager::push |
( |
char ** | text | ) |
|
Add text list to front of list.
- Parameters
-
◆ push() [2/2]
| void ucommon::StringPager::push |
( |
const char * | text | ) |
|
Add text to front of list.
- Parameters
-
◆ set() [1/2]
| void ucommon::StringPager::set |
( |
char ** | list | ) |
|
Set list to list.
This is a list of string pointers terminated with NULL.
- Parameters
-
◆ set() [2/2]
| void ucommon::StringPager::set |
( |
unsigned | item, |
|
|
const char * | string ) |
Replace string item in list.
- Parameters
-
| item | to replace. |
| string | to replace with. |
◆ size()
| size_t ucommon::StringPager::size |
( |
void | | ) |
const |
|
inline |
◆ token()
| unsigned ucommon::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:
- /builddir/build/BUILD/commoncpp-7.0.1/inc/ucommon/memory.h