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/ucommon-7.0.0-build/ucommon-7.0.0/inc/ucommon/memory.h