OpenDDS
Snapshot(2023/04/07-19:43)
|
#include <BasicQueue_T.h>
Public Member Functions | |
int | put (T *elem) |
Put a pointer to an element (T*) on to the queue. More... | |
T * | peek () const |
void | replace_head (T *value) |
T * | get () |
size_t | size () const |
Accessor for the current number of elements in the queue. More... | |
void | accept_visitor (VisitorType &visitor) const |
void | accept_remove_visitor (VisitorType &visitor) |
void | accept_replace_visitor (VisitorType &visitor) |
void | swap (BasicQueue &other) |
Private Types | |
typedef BasicQueueVisitor< T > | VisitorType |
typedef QueueImpl::iterator | iterator |
typedef QueueImpl::const_iterator | const_iterator |
Private Member Functions | |
typedef | OPENDDS_DEQUE (T *) QueueImpl |
Private Attributes | |
QueueImpl | elements_ |
Definition at line 26 of file BasicQueue_T.h.
|
private |
Definition at line 32 of file BasicQueue_T.h.
|
private |
Definition at line 31 of file BasicQueue_T.h.
|
private |
Definition at line 29 of file BasicQueue_T.h.
|
inline |
Alternate way to supply a visitor to the queue - this will invoke visit_element(T* element, int& remove) on the supplied visitor object once for each element in this BasicQueue<T> object, in order.
The remove argument is a flag that should be set to true (1) in the visitor's visit_element_remove(T* element, int& remove) method if the visitor decides that the element should be removed from the queue. The remove flag is always set to false (0) prior to calling the visitor's visit_element_remove(T* element, int& remove) method.
The visitor can stop visitation early by returning 0 from its visit_element_remove(T* element, int& remove) method.
Definition at line 95 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::clear(), OpenDDS::DCPS::TransportSendStrategy::do_remove_sample(), and OpenDDS::DCPS::TransportSendStrategy::stop().
|
inline |
This kind of visitation may cause the visitor to replace the currently visited element with a new element.
Definition at line 113 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::do_remove_sample().
|
inline |
Standard way to supply a visitor to the queue - this will invoke visit_element(T* element) on the supplied visitor object once for each element in this BasicQueue<T> object, in order. The visitor can stop visitation early by returning 0 from its visit_element(T* element) method.
Definition at line 74 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::SingleSendBuffer::insert_buffer(), OpenDDS::DCPS::TransportSendStrategy::prepare_packet(), and OpenDDS::DCPS::ThreadPerConnectionSendTask::remove_sample().
|
inline |
Extract the top element from the queue. Returns 0 if there are no elements in the queue.
Definition at line 55 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::adjust_packet_after_send(), OpenDDS::DCPS::TransportSendStrategy::get_packet_elems_from_queue(), and OpenDDS::DCPS::ThreadPerConnectionSendTask::svc().
|
private |
|
inline |
Peek at the element at the top of the queue. This is just like the get() operation except that the queue remains intact.
Definition at line 43 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::adjust_packet_after_send(), OpenDDS::DCPS::TransportSendStrategy::current_packet_first_element(), OpenDDS::DCPS::TransportSendStrategy::get_packet_elems_from_queue(), OpenDDS::DCPS::SingleSendBuffer::insert(), and OpenDDS::DCPS::RtpsUdpDataLink::MultiSendBuffer::insert().
|
inline |
Put a pointer to an element (T*) on to the queue.
Definition at line 36 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::ThreadPerConnectionSendTask::add_request(), OpenDDS::DCPS::TransportSendStrategy::get_packet_elems_from_queue(), OpenDDS::DCPS::TransportSendStrategy::send(), and OpenDDS::DCPS::CopyChainVisitor::visit_element().
|
inline |
Definition at line 47 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::get_packet_elems_from_queue().
|
inline |
Accessor for the current number of elements in the queue.
Definition at line 65 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::do_remove_sample(), OpenDDS::DCPS::TransportSendStrategy::get_packet_elems_from_queue(), OpenDDS::DCPS::SingleSendBuffer::insert(), OpenDDS::DCPS::TransportSendStrategy::perform_work(), OpenDDS::DCPS::TransportSendStrategy::resume_send(), OpenDDS::DCPS::TransportSendStrategy::send(), OpenDDS::DCPS::TransportSendStrategy::send_stop(), OpenDDS::DCPS::TransportSendStrategy::stop(), and OpenDDS::DCPS::ThreadPerConnectionSendTask::svc().
|
inline |
Definition at line 122 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::TransportSendStrategy::clear(), OpenDDS::DCPS::TransportSendStrategy::resume_send(), and OpenDDS::DCPS::TransportSendStrategy::stop().
|
private |
Definition at line 33 of file BasicQueue_T.h.
Referenced by OpenDDS::DCPS::BasicQueue< TransportQueueElement >::swap().