BALL  1.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
BALL::ResourceEntry Class Reference

#include <BALL/FORMAT/resourceFile.h>

Inheritance diagram for BALL::ResourceEntry:
BALL::AutoDeletable

List of all members.

Classes

class  IteratorTraits_

Public Types

typedef ResourceEntryIteratorPosition
typedef ForwardIterator
< ResourceEntry, ResourceEntry,
ResourceEntry
*, IteratorTraits_
Iterator
typedef ConstForwardIterator
< ResourceEntry, ResourceEntry,
ResourceEntry
*, IteratorTraits_
ConstIterator

Public Member Functions

Iterator begin ()
Iterator end ()
ConstIterator begin () const
ConstIterator end () const
Constructors and Destructors
 ResourceEntry ()
 ResourceEntry (const ResourceEntry &entry, bool deep=true)
 ResourceEntry (const String &key, const String &value, ResourceEntry *parent=0)
virtual ~ResourceEntry ()
void clear ()
void destroy ()
Assignment
void set (const ResourceEntry &entry, bool deep=true)
const ResourceEntryoperator= (const ResourceEntry &entry)
void get (ResourceEntry &entry, bool deep=true) const
Miscellaneous
bool operator== (const ResourceEntry &entry) const
bool operator!= (const ResourceEntry &entry) const
ResourceEntrygetRoot ()
const ResourceEntrygetRoot () const
ResourceEntrygetParent ()
const ResourceEntrygetParent () const
ResourceEntrygetChild (Position index)
const ResourceEntrygetChild (Position index) const
ResourceEntrygetEntry (const String &key_path)
const ResourceEntrygetEntry (const String &key_path) const
const StringgetKey () const
void setValue (const String &value)
StringgetValue ()
const StringgetValue () const
String getPath () const
Size countChildren () const
Size countDescendants () const
Size getSize () const
Size getDepth () const
ResourceEntryinsertChild (const String &key, const String &value, bool replace_value=true)
ResourceEntryinsertSibling (const String &key, const String &value, bool replace_value=true)
ResourceEntryinsertChild (ResourceEntry &entry, bool replace_value=true)
ResourceEntryinsert (const String &key_path, const String &name)
bool mergeChildrenOf (ResourceEntry &entry, bool replace_value=true)
bool removeChild (const String &key, ResourceEntry **removed=0)
bool removeKey (const String &key_path)
ResourceEntryfindChild (const String &key)
const ResourceEntryfindChild (const String &key) const
ResourceEntryfindDescendant (const String &key)
const ResourceEntryfindDescendant (const String &key) const
ResourceEntryfindEntry (const String &key)
const ResourceEntryfindEntry (const String &key) const
Attributes
bool hasChild (const String &key) const
bool isEmpty () const
bool isParentOf (const ResourceEntry &entry) const
bool isChildOf (const ResourceEntry &entry) const
bool isAncestorOf (const ResourceEntry &entry) const
bool isDescendantOf (const ResourceEntry &entry) const
bool isRelatedWith (const ResourceEntry &entry) const
bool isRoot () const
Debugging and Diagnostics
bool isValid () const
void dump (std::ostream &s=std::cout, Size depth=0) const
Processor and Visitor related methods
void host (Visitor< ResourceEntry > &visitor)
bool apply (UnaryProcessor< ResourceEntry > &processor)
bool applyChildren (UnaryProcessor< ResourceEntry > &processor)

Protected Member Functions

virtual ResourceEntrynewEntry (const String &key, const String &value, ResourceEntry *parent=0) const
virtual ResourceEntry ** newEntryArray (Size size) const
virtual void deleteEntry (ResourceEntry *entry) const
virtual void deleteEntryArray (ResourceEntry **entry_array) const
bool applyNostart_ (UnaryProcessor< ResourceEntry > &processor)

Private Member Functions

ResourceEntryclone_ (ResourceEntry *parent) const
bool findGreaterOrEqual_ (const String &key, Index &found) const

Private Attributes

String key_
String value_
ResourceEntryparent_
ResourceEntry ** child_
Size number_children_

Friends

class IteratorTraits_

Detailed Description

Resource entry class

Definition at line 41 of file resourceFile.h.


Member Typedef Documentation

Definition at line 542 of file resourceFile.h.

Definition at line 541 of file resourceFile.h.

Definition at line 319 of file resourceFile.h.


Constructor & Destructor Documentation

Default constructor

BALL::ResourceEntry::ResourceEntry ( const ResourceEntry entry,
bool  deep = true 
)

Copy constructor. Creates a new resource entry from another.

Parameters:
entrythe ResourceEntry object to be copied
deepcreate a deep (true) or shallow (false) copy
BALL::ResourceEntry::ResourceEntry ( const String key,
const String value,
ResourceEntry parent = 0 
)

Create a new resource entry. An entry with key and value is created. If parent is given, the new entries parent pointer is set to this value. Take care: the parents child array is not updated - so use this option only if you really know what you are doing. To keep this data consistent, use insertChild .

Parameters:
keythe key of the new entry
valuethe value of the new entry
parentthe content of the new entry's parent pointer
virtual BALL::ResourceEntry::~ResourceEntry ( ) [virtual]

Member Function Documentation

Definition at line 544 of file resourceFile.h.

Definition at line 548 of file resourceFile.h.

Return the number of child entries.

Return the number of children which are not leaves.

virtual void BALL::ResourceEntry::deleteEntry ( ResourceEntry entry) const [protected, virtual]
virtual void BALL::ResourceEntry::deleteEntryArray ( ResourceEntry **  entry_array) const [protected, virtual]
void BALL::ResourceEntry::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const

Definition at line 545 of file resourceFile.h.

Definition at line 549 of file resourceFile.h.

const ResourceEntry* BALL::ResourceEntry::findChild ( const String key) const
const ResourceEntry* BALL::ResourceEntry::findEntry ( const String key) const
bool BALL::ResourceEntry::findGreaterOrEqual_ ( const String key,
Index found 
) const [private]
void BALL::ResourceEntry::get ( ResourceEntry entry,
bool  deep = true 
) const

Assign the contents of a resource enytry to another one.

Parameters:
entrythe ResourceEntry object to be copied
deepcreate a deep (true) or shallow (false) copy

Return a pointer to a child node.

Returns:
0 if the child index does not exist

Return a const pointer to a child node.

Returns:
0 if the child index does not exist

Compute the depth of this entry within the tree.

Return a pointer to an entry. Searches for an entry via its path.

Returns:
0 if the specified path does not exist
const ResourceEntry* BALL::ResourceEntry::getEntry ( const String key_path) const

Return a const pointer to an entry Searches for an entry via its path.

Returns:
0 if the specified path does not exist

Return the key of this ResourceEntry.

Return the path of an entry.

????? What is the size of an entry? Why not use size()?

Get a mutable reference to the value of this ResourceEntry.

Get a constant reference to the value of this ResourceEntry.

bool BALL::ResourceEntry::hasChild ( const String key) const
ResourceEntry* BALL::ResourceEntry::insert ( const String key_path,
const String name 
)

Insert a resource entry at the appropriate place in the tree.

ResourceEntry* BALL::ResourceEntry::insertChild ( const String key,
const String value,
bool  replace_value = true 
)

Insert a child into the tree below this entry, if the key has not been used yet.

ResourceEntry* BALL::ResourceEntry::insertChild ( ResourceEntry entry,
bool  replace_value = true 
)

Insert a child into the tree below this entry, if the key has not been used yet.

ResourceEntry* BALL::ResourceEntry::insertSibling ( const String key,
const String value,
bool  replace_value = true 
)

Insert a child into the tree below the parent entry.

bool BALL::ResourceEntry::mergeChildrenOf ( ResourceEntry entry,
bool  replace_value = true 
)

Merge the children of a resource entry.

virtual ResourceEntry* BALL::ResourceEntry::newEntry ( const String key,
const String value,
ResourceEntry parent = 0 
) const [protected, virtual]
virtual ResourceEntry** BALL::ResourceEntry::newEntryArray ( Size  size) const [protected, virtual]
bool BALL::ResourceEntry::operator!= ( const ResourceEntry entry) const

Inequality operator

const ResourceEntry& BALL::ResourceEntry::operator= ( const ResourceEntry entry)

Assignment operator.

Parameters:
entrythe ResourceEntry object to be copied
bool BALL::ResourceEntry::operator== ( const ResourceEntry entry) const

Equality operator

bool BALL::ResourceEntry::removeChild ( const String key,
ResourceEntry **  removed = 0 
)

Remove a child of a resource entry.

void BALL::ResourceEntry::set ( const ResourceEntry entry,
bool  deep = true 
)

Assign a resource entry from another.

Parameters:
entrythe ResourceEntry object to be copied
deepcreate a deep (true) or shallow (false) copy
void BALL::ResourceEntry::setValue ( const String value)

Set the value of this ResourceEntry.


Friends And Related Function Documentation

friend class IteratorTraits_ [friend]

Definition at line 539 of file resourceFile.h.


Member Data Documentation

Definition at line 573 of file resourceFile.h.

Definition at line 570 of file resourceFile.h.

Definition at line 574 of file resourceFile.h.

Definition at line 572 of file resourceFile.h.

Definition at line 571 of file resourceFile.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines