Atlas-C++
Classes | Public Types | Public Member Functions | Friends | List of all members
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>

Classes

class  PsuedoElement
 

Public Types

typedef std::pair< std::string, PsuedoElementvalue_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.