#include <ISmbios.h>
Inheritance diagram for SmbiosTableIterator:
Public Types | |
typedef std::forward_iterator_tag | iterator_category |
typedef ISmbiosItem | value_type |
typedef value_type & | reference |
typedef value_type * | pointer |
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 |
SmbiosTableIterator & | operator++ () |
const SmbiosTableIterator | operator++ (int) |
bool | operator== (const SmbiosTableIteratorBase other) const |
bool | operator!= (const SmbiosTableIteratorBase other) const |
Protected Member Functions | |
void | incrementIterator () |
ISmbiosItem & | dereference () const |
Protected Attributes | |
int | matchType |
const ISmbiosTable * | table |
const void * | current |
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.
typedef std::forward_iterator_tag iterator_category |
typedef ISmbiosItem value_type |
typedef value_type& reference |
typedef value_type* pointer |
typedef std::ptrdiff_t difference_type |
virtual ~SmbiosTableIterator | ( | ) | throw () [inline, virtual] |
SmbiosTableIterator | ( | ISmbiosTable * | initialTable = 0 , |
|
int | typeToMatch = -1 | |||
) | [inline, explicit] |
reference operator * | ( | ) | const [inline] |
pointer operator-> | ( | ) | const [inline] |
SmbiosTableIterator& operator++ | ( | ) | [inline] |
const SmbiosTableIterator operator++ | ( | int | ) | [inline] |
bool operator== | ( | const SmbiosTableIteratorBase | other | ) | const [inline, inherited] |
bool operator!= | ( | const SmbiosTableIteratorBase | other | ) | const [inline, inherited] |
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->().
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==().