UCommon
ucommon::keydata Class Reference

Data keys parsed from a keyfile. More...

#include <keydata.h>

Inheritance diagram for ucommon::keydata:
Collaboration diagram for ucommon::keydata:

Data Structures

class  keyvalue
 A key value set is used for iterative access. More...
 

Public Types

typedef linked_pointer< keyvaluepointer
 Convenience typedef for iterative pointer.
 

Public Member Functions

keyvaluebegin (void) const
 Get first value object, for iterative examinations.
 
void clear (const char *id)
 Remove a keyword id from the keydata structure.
 
keyvalueend (void) const
 Get last value object, for iterative examinations.
 
const char * get (const char *id) const
 Lookup a key value by it's id.
 
const char * get (void) const
 Get the name of this section.
 
const char * operator() (const char *id) const
 Lookup a key value by it's id.
 
void set (const char *id, const char *value)
 Set a keyword and value in the keydata structure.
 
- Public Member Functions inherited from ucommon::OrderedObject
void delist (OrderedIndex *index)
 Remove our ordered object from an existing index.
 
virtual void enlist (OrderedIndex *index)
 List our ordered object in default strategy mode.
 
void enlistHead (OrderedIndex *index)
 List our ordered object at start of a linked list on an index.
 
void enlistTail (OrderedIndex *index)
 List our ordered object at end of a linked list on an index.
 
OrderedObjectgetNext (void) const
 Get next ordered member when iterating.
 
- Public Member Functions inherited from ucommon::LinkedObject
void delist (LinkedObject **root)
 Locate and remove ourselves from a list of objects.
 
void enlist (LinkedObject **root)
 Add our object to an existing linked list through a pointer.
 
LinkedObjectgetNext (void) const
 Get next effective object when iterating.
 
bool is_member (LinkedObject *list) const
 Search to see if we are a member of a specific list.
 
virtual void release (void)
 Release list, mark as no longer linked.
 
virtual void retain (void)
 Retain by marking as self referenced list.
 
- Public Member Functions inherited from ucommon::ObjectProtocol
ObjectProtocolcopy (void)
 Retain (increase retention of) object when copying.
 
void operator++ (void)
 Increase retention operator.
 
void operator-- (void)
 Decrease retention operator.
 
virtual ~ObjectProtocol ()
 Required virtual destructor.
 

Friends

class keyfile
 
class keyvalue
 

Additional Inherited Members

- Static Public Member Functions inherited from ucommon::LinkedObject
static unsigned count (const LinkedObject *root)
 Count the number of linked objects in a list.
 
static LinkedObjectgetIndexed (LinkedObject *root, unsigned index)
 Get member by index.
 
static void purge (LinkedObject *root)
 Release all objects from a list.
 
- Protected Member Functions inherited from ucommon::OrderedObject
 OrderedObject ()
 Construct an ordered object unattached.
 
 OrderedObject (const OrderedObject &from)
 
 OrderedObject (OrderedIndex *index)
 Construct an ordered object aot end of a an index.
 
- Protected Member Functions inherited from ucommon::LinkedObject
 LinkedObject ()
 Construct base class unattached to anyone.
 
 LinkedObject (const LinkedObject &from)
 
 LinkedObject (LinkedObject **root)
 Construct base class attached to a chain of objects.
 
- Protected Attributes inherited from ucommon::LinkedObject
LinkedObjectNext
 

Detailed Description

Data keys parsed from a keyfile.

This is a specific [] section from a fully loaded keyfile, and offers common means to access data members. This is related to the original GNU Common C++ keydata object, although it is formed in a keyfile class which is loaded from a config file all at once.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Examples
keydata.cpp.

Definition at line 58 of file keydata.h.

Member Typedef Documentation

◆ pointer

Convenience typedef for iterative pointer.

Definition at line 151 of file keydata.h.

Member Function Documentation

◆ begin()

keyvalue * ucommon::keydata::begin ( void ) const
inline

Get first value object, for iterative examinations.

Returns
first key value in chain.

Definition at line 136 of file keydata.h.

Here is the call graph for this function:

◆ clear()

void ucommon::keydata::clear ( const char * id)

Remove a keyword id from the keydata structure.

Removed items still use pager allocated memory.

Parameters
idto remove.

◆ end()

keyvalue * ucommon::keydata::end ( void ) const
inline

Get last value object, for iterative examinations.

Returns
first key value in chain.

Definition at line 144 of file keydata.h.

Here is the call graph for this function:

◆ get() [1/2]

const char * ucommon::keydata::get ( const char * id) const

Lookup a key value by it's id.

Parameters
idto look for.
Returns
value string or NULL if not found.
Examples
keydata.cpp.

◆ get() [2/2]

const char * ucommon::keydata::get ( void ) const
inline

Get the name of this section.

Useful in iterative examinations.

Returns
name of keydata section.

Definition at line 128 of file keydata.h.

◆ operator()()

const char * ucommon::keydata::operator() ( const char * id) const
inline

Lookup a key value by it's id.

Parameters
idto look for.
Returns
value string or NULL if not found.

Definition at line 104 of file keydata.h.

◆ set()

void ucommon::keydata::set ( const char * id,
const char * value )

Set a keyword and value in the keydata structure.

If the keyword already exists, it is replaced. Removed items still use pager allocated memory.

Parameters
idto set.
valuefor the id.

Friends And Related Symbol Documentation

◆ keyfile

friend class keyfile
friend

Definition at line 61 of file keydata.h.

◆ keyvalue

friend class keyvalue
friend

Definition at line 90 of file keydata.h.


The documentation for this class was generated from the following file: