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