SmbiosTableIterator Class Reference

Iterator for ISmbiosTable objects. More...

#include <ISmbios.h>

Inheritance diagram for SmbiosTableIterator:

SmbiosTableIteratorBase List of all members.

Public Types

typedef std::forward_iterator_tag iterator_category
typedef ISmbiosItem value_type
typedef value_typereference
typedef value_typepointer
typedef std::ptrdiff_t difference_type

Public Member Functions

virtual ~SmbiosTableIterator () throw ()
 SmbiosTableIterator (ISmbiosTable *initialTable=0, int typeToMatch=-1)
reference operator * () const
pointer operator-> () const
SmbiosTableIteratoroperator++ ()
const SmbiosTableIterator operator++ (int)
bool operator== (const SmbiosTableIteratorBase other) const
bool operator!= (const SmbiosTableIteratorBase other) const

Protected Member Functions

void incrementIterator ()
ISmbiosItemdereference () const

Protected Attributes

int matchType
const ISmbiosTabletable
const void * current

Detailed Description

Iterator for ISmbiosTable objects.

In order to properly enforce difference between iterator and const_iterator, we need to derive them both separately from the base iterator class. the const_iterator cannot inherit from iterator, or compiler will automatically convert between the two, which is not good.

This class is stable. Do not add or remove any members from it.

Definition at line 419 of file ISmbios.h.


Member Typedef Documentation

typedef std::forward_iterator_tag iterator_category

Definition at line 425 of file ISmbios.h.

typedef ISmbiosItem value_type

Definition at line 426 of file ISmbios.h.

typedef value_type& reference

Definition at line 427 of file ISmbios.h.

typedef value_type* pointer

Definition at line 428 of file ISmbios.h.

typedef std::ptrdiff_t difference_type

Definition at line 429 of file ISmbios.h.


Constructor & Destructor Documentation

virtual ~SmbiosTableIterator (  )  throw () [inline, virtual]

Definition at line 431 of file ISmbios.h.

SmbiosTableIterator ( ISmbiosTable initialTable = 0,
int  typeToMatch = -1 
) [inline, explicit]

Definition at line 432 of file ISmbios.h.


Member Function Documentation

reference operator * (  )  const [inline]

Definition at line 434 of file ISmbios.h.

References SmbiosTableIteratorBase::dereference().

pointer operator-> (  )  const [inline]

Definition at line 435 of file ISmbios.h.

References SmbiosTableIteratorBase::dereference().

SmbiosTableIterator& operator++ (  )  [inline]

Definition at line 436 of file ISmbios.h.

References SmbiosTableIteratorBase::incrementIterator().

const SmbiosTableIterator operator++ ( int   )  [inline]

Definition at line 437 of file ISmbios.h.

bool operator== ( const SmbiosTableIteratorBase  other  )  const [inline, inherited]

Definition at line 399 of file ISmbios.h.

References SmbiosTableIteratorBase::current.

bool operator!= ( const SmbiosTableIteratorBase  other  )  const [inline, inherited]

Definition at line 400 of file ISmbios.h.

References SmbiosTableIteratorBase::current.

void incrementIterator (  )  [protected, inherited]

Definition at line 55 of file SmbiosTableIterator.cpp.

References SmbiosTableIteratorBase::current, SmbiosTableIteratorBase::matchType, SmbiosTable::nextSmbiosStruct(), and SmbiosTableIteratorBase::table.

Referenced by ConstSmbiosTableIterator::operator++(), SmbiosTableIterator::operator++(), and SmbiosTableIteratorBase::SmbiosTableIteratorBase().

ISmbiosItem & dereference (  )  const [protected, inherited]

Definition at line 30 of file SmbiosTableIterator.cpp.

References _, SmbiosTable::cacheItem(), SmbiosTableIteratorBase::current, SmbiosTable::getCachedItem(), SmbiosTable::makeItem(), and SmbiosTableIteratorBase::table.

Referenced by ConstSmbiosTableIterator::operator *(), SmbiosTableIterator::operator *(), ConstSmbiosTableIterator::operator->(), and SmbiosTableIterator::operator->().


Member Data Documentation

int matchType [protected, inherited]

Definition at line 406 of file ISmbios.h.

Referenced by SmbiosTableIteratorBase::incrementIterator().

const ISmbiosTable* table [protected, inherited]

Definition at line 407 of file ISmbios.h.

Referenced by SmbiosTableIteratorBase::dereference(), and SmbiosTableIteratorBase::incrementIterator().

const void* current [mutable, protected, inherited]

Definition at line 408 of file ISmbios.h.

Referenced by SmbiosTableIteratorBase::dereference(), SmbiosTableIteratorBase::incrementIterator(), SmbiosTableIteratorBase::operator!=(), and SmbiosTableIteratorBase::operator==().


The documentation for this class was generated from the following file:
Generated on Sat Apr 21 11:36:10 2007 for SMBIOS Library by  doxygen 1.5.2