Fawkes API
Fawkes Development Version
|
#include <interface/message_queue.h>
Public Member Functions | |
MessageIterator () | |
Constructor. More... | |
MessageIterator (const MessageIterator &it) | |
Copy constructor. More... | |
MessageIterator & | operator++ () |
Increment iterator. More... | |
MessageIterator | operator++ (int inc) |
Increment iterator. More... | |
MessageIterator & | operator+ (unsigned int i) |
Advance by a certain amount. More... | |
MessageIterator & | operator+= (unsigned int i) |
Advance by a certain amount. More... | |
bool | operator== (const MessageIterator &c) const |
Check equality of two iterators. More... | |
bool | operator!= (const MessageIterator &c) const |
Check inequality of two iterators. More... | |
Message * | operator* () const |
Get memory pointer of chunk. More... | |
Message * | operator-> () const |
Act on current message. More... | |
MessageIterator & | operator= (const MessageIterator &c) |
Assign iterator. More... | |
unsigned int | id () const |
Get ID of current element or 0 if element is end. More... | |
template<class MessageType > | |
bool | is () const |
Check if message is of given type. More... | |
template<class MessageType > | |
MessageType * | get () const |
Get current message of given type. More... | |
Friends | |
class | MessageQueue |
Message iterator.
Use this iterator to iterate over messages in a message queue. Use MessageQueue::begin() to get the iterator.
Definition at line 58 of file message_queue.h.
fawkes::MessageQueue::MessageIterator::MessageIterator | ( | ) |
Constructor.
Definition at line 372 of file message_queue.cpp.
Referenced by fawkes::MessageQueue::end().
fawkes::MessageQueue::MessageIterator::MessageIterator | ( | const MessageIterator & | it | ) |
MessageType * fawkes::MessageQueue::MessageIterator::get | ( | ) | const |
Get current message of given type.
This will return the current message of the given template type. An TypeMismatchException is thrown if the current message is not of the requested type.
TypeMismatchException | thrown, if current message is not of requested type. |
Definition at line 140 of file message_queue.h.
unsigned int fawkes::MessageQueue::MessageIterator::id | ( | ) | const |
Get ID of current element or 0 if element is end.
Definition at line 531 of file message_queue.cpp.
bool fawkes::MessageQueue::MessageIterator::is | ( | ) | const |
Check if message is of given type.
The current message is checked if it is of the type that the template parameter determines. Use non-pointer template arguments!
Definition at line 125 of file message_queue.h.
bool fawkes::MessageQueue::MessageIterator::operator!= | ( | const MessageIterator & | c | ) | const |
Check inequality of two iterators.
Can be used to determine if two iterators point to different chunks.
c | iterator to compare current instance to |
Definition at line 485 of file message_queue.cpp.
Message * fawkes::MessageQueue::MessageIterator::operator* | ( | ) | const |
Get memory pointer of chunk.
Use this operator to get the pointer to the chunk of memory that this iterator points to.
Definition at line 497 of file message_queue.cpp.
MessageQueue::MessageIterator & fawkes::MessageQueue::MessageIterator::operator+ | ( | unsigned int | i | ) |
Advance by a certain amount.
Can be used to add an integer to the iterator to advance many steps in one go. This operation takes linear time depending on i.
i | steps to advance in list. If i is bigger than the number of remaining elements in the list will stop beyond list. |
Definition at line 442 of file message_queue.cpp.
MessageQueue::MessageIterator & fawkes::MessageQueue::MessageIterator::operator++ | ( | ) |
Increment iterator.
Advances to the next element. This is the infix-operator. It may be used like this:
Definition at line 398 of file message_queue.cpp.
MessageQueue::MessageIterator fawkes::MessageQueue::MessageIterator::operator++ | ( | int | inc | ) |
Increment iterator.
Advances to the next element in allocated chunk list. This is the postfix-operator. It may be used like this:
Note that since a copy of the original iterator has to be created an returned it the postfix operation takes both, more CPU time and more memory. If possible (especially if used in a for loop like the example) use the prefix operator!
inc | ignored |
Definition at line 423 of file message_queue.cpp.
MessageQueue::MessageIterator & fawkes::MessageQueue::MessageIterator::operator+= | ( | unsigned int | i | ) |
Advance by a certain amount.
Works like operator+(unsigned int i), provided for convenience.
i | steps to advance in list |
Definition at line 458 of file message_queue.cpp.
Message * fawkes::MessageQueue::MessageIterator::operator-> | ( | ) | const |
Act on current message.
Node that you have to make sure that this is not called on the end node!
Definition at line 508 of file message_queue.cpp.
MessageQueue::MessageIterator & fawkes::MessageQueue::MessageIterator::operator= | ( | const MessageIterator & | c | ) |
Assign iterator.
Makes the current instance to point to the same memory element as c.
c | assign value |
Definition at line 520 of file message_queue.cpp.
bool fawkes::MessageQueue::MessageIterator::operator== | ( | const MessageIterator & | c | ) | const |
Check equality of two iterators.
Can be used to determine if two iterators point to the same chunk.
c | iterator to compare current instance to |
Definition at line 473 of file message_queue.cpp.