List of all members.
Public Member Functions
|TraceIterator (Trace *trc, int idx)|
|TraceIterator (const TraceIterator &toCopy)|
|TraceIterator &||operator= (const TraceIterator &rhs)|
|TraceIterator *||clone (void) const|
|TraceIterator||operator+ (int increment) const|
|TraceIterator &||operator++ (void)|
|TraceIterator||operator- (int decrement) const|
|TraceIterator &||operator-- (void)|
|bool||operator== (const TraceIterator &rhs) const|
|bool||operator!= (const TraceIterator &rhs) const|
|Packet &||operator * (void) throw ( std::runtime_error, IndexOutOfBoundsException )|
|Packet *||operator-> (void) throw ( std::runtime_error, IndexOutOfBoundsException )|
|const Packet &||operator * (void) const throw ( std::runtime_error, IndexOutOfBoundsException )|
|const Packet *||operator-> (void) const throw ( std::runtime_error, IndexOutOfBoundsException )|
|const StreamKey &||getStreamKey (void) const throw ( std::runtime_error )|
|bool||isValid (void) const|
Not yet compliant with STL iterators; will have to do that if this is eventually to be used in STL algorithms. For the time being, however, it's just going to do what I need it to do, and not much more.
The interface is a bit wonky, unfortunately. To avoid having to maintain a seperate wrapper class, the iterator is not dereferenced like a pointer, and instead contains member functions that direct requests through the aggregate.
TraceIterator should behave as a const_iterator; that is, it should not modify the aggregate to which it refers.
TraceIterator is monomorphic to allow things like low-headache copying.
profile_streams_thesis.cc, and test_harness.cc.
check if the TraceIterator is valid; i.e. refers to a valid location in a Trace
Request the value of a PacketAttribute for the packet pointed to by the iterator