#include <pageframetable.h>
Collaboration diagram for Zygoma::PageFrameTableIterator:
It would be possible to just use pointers to PageFrames as iterators over the table, except for 2 things. First, we need a UDT (user-defined type) to differentiate a page frame table iterator from a regular physical address in function overloads, and second, we need a conversion function that will deliver the page from physical base address given the page frame table iterator
Public Types | |
typedef std::random_access_iterator_tag | iterator_category |
typedef PageFrame | value_type |
typedef std::ptrdiff_t | difference_type |
typedef PageFrame * | pointer |
typedef PageFrame & | reference |
Public Member Functions | |
PageFrameTableIterator (PageFrameTable &, difference_type offset=0) | |
Constructs a page frame table iterator starting at offset page frames from the beginning of the table. | |
PageFrameTableIterator (const PageFrameTableIterator &rhs) | |
Copy constructs a page frame table iterator. | |
PageFrameTableIterator & | operator= (const PageFrameTableIterator &rhs) |
Copy assigns a page frame table iterator. | |
~PageFrameTableIterator () | |
Destructs a page frame table iterator. | |
reference | operator * () |
Dereference operator. | |
reference | operator[] (difference_type) |
Indexing operator. | |
pointer | operator-> () |
Member access operator. | |
PhysicalAddress | baseAddress () const |
Conversion to PhysicalAddress. | |
Iterator arithmentic operators. | |
PageFrameTableIterator & | operator++ () |
Preincrement operator. | |
PageFrameTableIterator & | operator++ (int) |
Postincrement operator. | |
PageFrameTableIterator & | operator-- () |
Predecrement operator. | |
PageFrameTableIterator & | operator-- (int) |
Postdecrement operator. | |
PageFrameTableIterator & | operator+= (difference_type) |
Increment operator. | |
PageFrameTableIterator & | operator- (difference_type) |
Decrement operator. | |
difference_type | operator- (const PageFrameTableIterator &) |
Difference operator. | |
Comparison operations | |
bool | equals (const PageFrameTableIterator &rhs) const |
bool | lessThan (const PageFrameTableIterator &rhs) const |
|
|
|
|
|
|
|
|
|
|
|
Constructs a page frame table iterator starting at
|
|
Copy constructs a page frame table iterator.
|
|
Destructs a page frame table iterator.
|
|
Conversion to PhysicalAddress.
|
|
|
|
|
|
Dereference operator.
|
|
Postincrement operator.
|
|
Preincrement operator.
|
|
Increment operator.
|
|
Difference operator.
|
|
Decrement operator.
|
|
Postdecrement operator.
|
|
Predecrement operator.
|
|
Member access operator.
|
|
Copy assigns a page frame table iterator.
|
|
Indexing operator. I'm not sure if this should really be an iterator operation.
|