Atlas-C++
Classes | Public Types | Public Member Functions | Friends
Atlas::Objects::BaseObjectData::iterator Class Reference

The iterator first iterates over the contents of m_obj->m_attributes, holding an iterator to the attributes map in m_I. More...

#include <BaseObject.h>

List of all members.

Classes

class  PsuedoElement

Public Types

typedef std::pair< std::string,
PsuedoElement
value_type

Public Member Functions

 iterator (const iterator &I)
 iterator (BaseObjectData &obj, int current_class)
iteratoroperator= (const iterator &I)
iteratoroperator++ ()
iterator operator++ (int)
bool operator== (const iterator &I) const
bool operator!= (const iterator &I) const
const value_type & operator* () const
const value_type * operator-> () const

Friends

class BaseObjectData
class const_iterator
class PsuedoElement

Detailed Description

The iterator first iterates over the contents of m_obj->m_attributes, holding an iterator to the attributes map in m_I.

When m_I reaches the end, it iterates through the named attributes in each of the classes, starting with the terminal child and working its way up to the ultimate parent, BaseObjectData. It stores the class number in m_current_class and the name of the current attribute in m_val.first. Since BaseObjectData has no named attributes, an iterator with m_current_class == BASE_OBJECT_NO is considered to be the end of the map. The iterator constructor has an argument which lets you begin() at the first named attribute in some class, and only iterate through that class and its parents. The same iterator, treated as an end(), lets you iterate through all attributes which are either named in derived classes or in m_attributes.


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

Copyright 2000-2004 the respective authors.

This document can be licensed under the terms of the GNU Free Documentation License or the GNU General Public License and may be freely distributed under the terms given by one of these licenses.