OFConfigFileCursor Class Reference

structure used by class OFConfigFile to store a cursor pointing to the currently selected section and entry in the config data More...

List of all members.

Public Member Functions

 OFConfigFileCursor (unsigned int maxLevel)
 default constructor
 OFConfigFileCursor (const OFConfigFileCursor &source)
 copy constructor
 ~OFConfigFileCursor ()
 destructor
OFConfigFileCursoroperator= (const OFConfigFileCursor &source)
 assignment operator
void clear ()
 return object to default constructed state (invalid cursor)
const char * getKeyword (unsigned int level) const
 return keyword as C string.
const char * getValue (unsigned int level) const
 return value as C string Precondition is that section_valid(level) return true.
OFBool section_valid (unsigned int level) const
 checks if the cursor points to a valid location up to the given level
void set_section (unsigned int level, const char *key, OFConfigFileNode *anchor)
 sets cursor to the entry with keyword "key" at the given level.
void first_section (unsigned int level, OFConfigFileNode *anchor)
 sets cursor to the first entry at the given level (without changing the cursor position at higher levels).
void next_section (unsigned int level)
 sets cursor to the next entry at the given level (without changing the cursor position at higher levels).
void insert (unsigned int level, OFConfigFileNode *&newnode, OFConfigFileNode *&anchor, OFBool orderedMode)
 inserts a new node into the tree at the current cursor position
OFBool operator< (const OFConfigFileCursor &) const
 dummy comparison operator, needed by MSVC5 with STL.
OFBool operator== (const OFConfigFileCursor &) const
 dummy comparison operator, needed by MSVC5 with STL.

Private Member Functions

void orderedInsert (OFConfigFileNode *parent, OFConfigFileNode *&newnode)
 helper method that is called by insert() in ordered mode to insert a new node at a given tree level (i.e.

Private Attributes

OFConfigFileNodePtrarray_
 the cursor is an array of pointers to OFConfigFileNode objects
unsigned int maxLevel_
 depth of tree, i.e. number of entries in array_


Detailed Description

structure used by class OFConfigFile to store a cursor pointing to the currently selected section and entry in the config data

Definition at line 194 of file ofconfig.h.


Member Function Documentation

const char* OFConfigFileCursor::getKeyword ( unsigned int  level  )  const [inline]

return keyword as C string.

Precondition is that section_valid(level) return true.

Parameters:
level cursor level

Definition at line 228 of file ofconfig.h.

References array_, OFConfigFileNode::getKeyword(), and maxLevel_.

const char* OFConfigFileCursor::getValue ( unsigned int  level  )  const [inline]

return value as C string Precondition is that section_valid(level) return true.

Parameters:
level cursor level

Definition at line 237 of file ofconfig.h.

References array_, OFConfigFileNode::getValue(), and maxLevel_.

OFBool OFConfigFileCursor::section_valid ( unsigned int  level  )  const

checks if the cursor points to a valid location up to the given level

Parameters:
level cursor level
Returns:
true if valid, false otherwise

Referenced by OFConfigFile::section_valid().

void OFConfigFileCursor::set_section ( unsigned int  level,
const char *  key,
OFConfigFileNode anchor 
)

sets cursor to the entry with keyword "key" at the given level.

Cursor must be valid at the level higher than the one specified. If the keyword exists more than once, the first occurance is found. If the keyword does not exist, the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters:
level cursor level
key key value
anchor pointer to anchor node in config tree

Referenced by OFConfigFile::set_section().

void OFConfigFileCursor::first_section ( unsigned int  level,
OFConfigFileNode anchor 
)

sets cursor to the first entry at the given level (without changing the cursor position at higher levels).

Cursor must be valid at the level higher than the one specified. If no section is found the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters:
level cursor level
anchor pointer to anchor node in config tree

Referenced by OFConfigFile::first_section().

void OFConfigFileCursor::next_section ( unsigned int  level  ) 

sets cursor to the next entry at the given level (without changing the cursor position at higher levels).

Cursor must be valid at the level specified. If no section is found the cursor becomes invalid at the specified level. The cursor always becomes invalid at all levels lower than specified.

Parameters:
level cursor level

Referenced by OFConfigFile::next_section().

void OFConfigFileCursor::insert ( unsigned int  level,
OFConfigFileNode *&  newnode,
OFConfigFileNode *&  anchor,
OFBool  orderedMode 
)

inserts a new node into the tree at the current cursor position

Parameters:
level level of insertion
newnode node to be inserted, must not be NULL
anchor pointer to anchor node of tree, may be modified
orderedMode mode flag for processing configuration files. See documentation of OFConfigFile::orderedMode_

OFBool OFConfigFileCursor::operator< ( const OFConfigFileCursor  )  const [inline]

dummy comparison operator, needed by MSVC5 with STL.

Returns:
always false

Definition at line 303 of file ofconfig.h.

OFBool OFConfigFileCursor::operator== ( const OFConfigFileCursor  )  const [inline]

dummy comparison operator, needed by MSVC5 with STL.

Returns:
always true

Definition at line 311 of file ofconfig.h.

void OFConfigFileCursor::orderedInsert ( OFConfigFileNode parent,
OFConfigFileNode *&  newnode 
) [private]

helper method that is called by insert() in ordered mode to insert a new node at a given tree level (i.e.

within a list of nodes that share the same parent node) in alphabetical order, replacing any older node with identical keyword.

Parameters:
parent parent node of new new to be inserted
newnode pointer to new node to be inserted


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1