PX4 Firmware
PX4 Autopilot Software http://px4.io
IntrusiveQueue< T > Class Template Reference

#include <IntrusiveQueue.hpp>

Collaboration diagram for IntrusiveQueue< T >:

Classes

struct  Iterator
 

Public Member Functions

bool empty () const
 
front () const
 
back () const
 
size_t size () const
 
void push (T newNode)
 
pop ()
 
bool remove (T removeNode)
 
Iterator begin ()
 
Iterator end ()
 

Private Attributes

_head {nullptr}
 
_tail {nullptr}
 

Detailed Description

template<class T>
class IntrusiveQueue< T >

Definition at line 39 of file IntrusiveQueue.hpp.

Member Function Documentation

◆ back()

template<class T>
T IntrusiveQueue< T >::back ( ) const
inline

Definition at line 46 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_tail.

Referenced by IntrusiveQueueTest::test_push_duplicate().

Here is the caller graph for this function:

◆ begin()

template<class T>
Iterator IntrusiveQueue< T >::begin ( )
inline

Definition at line 147 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head, and IntrusiveQueue< T >::Iterator::Iterator().

Here is the call graph for this function:

◆ empty()

template<class T>
bool IntrusiveQueue< T >::empty ( ) const
inline

Definition at line 43 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head.

Referenced by IntrusiveQueue< T >::pop(), IntrusiveQueueTest::test_pop(), IntrusiveQueueTest::test_push(), IntrusiveQueueTest::test_push_duplicate(), and IntrusiveQueueTest::test_remove().

Here is the caller graph for this function:

◆ end()

template<class T>
Iterator IntrusiveQueue< T >::end ( )
inline

Definition at line 148 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::Iterator::Iterator().

Here is the call graph for this function:

◆ front()

template<class T>
T IntrusiveQueue< T >::front ( ) const
inline

Definition at line 45 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head.

Referenced by IntrusiveQueue< T >::size(), IntrusiveQueueTest::test_pop(), IntrusiveQueueTest::test_push(), and IntrusiveQueueTest::test_push_duplicate().

Here is the caller graph for this function:

◆ pop()

template<class T>
T IntrusiveQueue< T >::pop ( )
inline

Definition at line 77 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head, IntrusiveQueue< T >::_tail, and IntrusiveQueue< T >::empty().

Referenced by IntrusiveQueueTest::test_pop(), IntrusiveQueueTest::test_push(), IntrusiveQueueTest::test_push_duplicate(), and IntrusiveQueueTest::test_remove().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ push()

template<class T>
void IntrusiveQueue< T >::push ( newNode)
inline

Definition at line 59 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head, and IntrusiveQueue< T >::_tail.

Referenced by IntrusiveQueueTest::test_pop(), IntrusiveQueueTest::test_push(), IntrusiveQueueTest::test_push_duplicate(), and IntrusiveQueueTest::test_remove().

Here is the caller graph for this function:

◆ remove()

template<class T>
bool IntrusiveQueue< T >::remove ( removeNode)
inline

Definition at line 98 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::_head.

◆ size()

template<class T>
size_t IntrusiveQueue< T >::size ( ) const
inline

Definition at line 48 of file IntrusiveQueue.hpp.

References IntrusiveQueue< T >::front().

Referenced by IntrusiveQueueTest::test_pop(), IntrusiveQueueTest::test_push(), IntrusiveQueueTest::test_push_duplicate(), and IntrusiveQueueTest::test_remove().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ _head

◆ _tail

template<class T>
T IntrusiveQueue< T >::_tail {nullptr}
private

The documentation for this class was generated from the following file: