Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QSSGInvasiveSingleLinkedList< T, Next > Struct Template Reference

#include <qssginvasivelinkedlist_p.h>

+ Inheritance diagram for QSSGInvasiveSingleLinkedList< T, Next >:
+ Collaboration diagram for QSSGInvasiveSingleLinkedList< T, Next >:

Public Types

using TailOp = QSSGListAccessorNext<T, Next>
 
using List = QSSGInvasiveSingleLinkedList<T, Next>
 
using BaseList = QSSGInvasiveLinkListBase<T, QSSGNullOp<T>, TailOp>
 
using iterator = QSSGLinkedListIterator<T, TailOp>
 
using const_iterator = iterator
 

Public Member Functions

T & front () const
 
void push_front (T &inObj)
 
void push_back (T &inObj)
 
void remove (T &inObj)
 
void removeAll ()
 removeAll removes all nodes and re-sets their tail to null.
 
void clear ()
 clear will set the head of the list to null.
 
bool isEmpty () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
- Public Member Functions inherited from QSSGInvasiveLinkListBase< T, QSSGNullOp< T >, QSSGListAccessorNext< T, Next > >
T * tail (T *inObj)
 
const T * tail (const T *inObj)
 
T * head (T *inObj)
 
const T * head (const T *inObj)
 
void remove (T &inObj)
 
void insert_after (T &inPosition, T &inObj)
 
void insert_before (T &inPosition, T &inObj)
 
void insert_unsafe (T *inHead, T *inTail, T &inObj)
 

Public Attributes

T * m_head = nullptr
 

Detailed Description

template<typename T, T *T::* Next>
struct QSSGInvasiveSingleLinkedList< T, Next >

Definition at line 134 of file qssginvasivelinkedlist_p.h.

Member Typedef Documentation

◆ BaseList

template<typename T , T *T::* Next>
using QSSGInvasiveSingleLinkedList< T, Next >::BaseList = QSSGInvasiveLinkListBase<T, QSSGNullOp<T>, TailOp>

Definition at line 138 of file qssginvasivelinkedlist_p.h.

◆ const_iterator

template<typename T , T *T::* Next>
using QSSGInvasiveSingleLinkedList< T, Next >::const_iterator = iterator

Definition at line 140 of file qssginvasivelinkedlist_p.h.

◆ iterator

template<typename T , T *T::* Next>
using QSSGInvasiveSingleLinkedList< T, Next >::iterator = QSSGLinkedListIterator<T, TailOp>

Definition at line 139 of file qssginvasivelinkedlist_p.h.

◆ List

template<typename T , T *T::* Next>
using QSSGInvasiveSingleLinkedList< T, Next >::List = QSSGInvasiveSingleLinkedList<T, Next>

Definition at line 137 of file qssginvasivelinkedlist_p.h.

◆ TailOp

template<typename T , T *T::* Next>
using QSSGInvasiveSingleLinkedList< T, Next >::TailOp = QSSGListAccessorNext<T, Next>

Definition at line 136 of file qssginvasivelinkedlist_p.h.

Member Function Documentation

◆ begin() [1/2]

template<typename T , T *T::* Next>
iterator QSSGInvasiveSingleLinkedList< T, Next >::begin ( )
inline

Definition at line 216 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveSingleLinkedList< T, Next >::m_head.

Referenced by QSSGInvasiveSingleLinkedList< T, Next >::push_back(), and QSSGInvasiveSingleLinkedList< T, Next >::removeAll().

+ Here is the caller graph for this function:

◆ begin() [2/2]

template<typename T , T *T::* Next>
const_iterator QSSGInvasiveSingleLinkedList< T, Next >::begin ( ) const
inline

◆ clear()

template<typename T , T *T::* Next>
void QSSGInvasiveSingleLinkedList< T, Next >::clear ( )
inline

clear will set the head of the list to null.

Note that the nodes are not updated in this case!

Definition at line 209 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveSingleLinkedList< T, Next >::m_head.

◆ end() [1/2]

template<typename T , T *T::* Next>
iterator QSSGInvasiveSingleLinkedList< T, Next >::end ( )
inline

Definition at line 217 of file qssginvasivelinkedlist_p.h.

Referenced by QSSGInvasiveSingleLinkedList< T, Next >::push_back(), and QSSGInvasiveSingleLinkedList< T, Next >::removeAll().

+ Here is the caller graph for this function:

◆ end() [2/2]

template<typename T , T *T::* Next>
const_iterator QSSGInvasiveSingleLinkedList< T, Next >::end ( ) const
inline

Definition at line 219 of file qssginvasivelinkedlist_p.h.

◆ front()

template<typename T , T *T::* Next>
T & QSSGInvasiveSingleLinkedList< T, Next >::front ( ) const
inline

◆ isEmpty()

template<typename T , T *T::* Next>
bool QSSGInvasiveSingleLinkedList< T, Next >::isEmpty ( ) const
inline

◆ push_back()

template<typename T , T *T::* Next>
void QSSGInvasiveSingleLinkedList< T, Next >::push_back ( T & inObj)
inline

Definition at line 152 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveSingleLinkedList< T, Next >::begin(), QSSGInvasiveSingleLinkedList< T, Next >::end(), iter, QSSGInvasiveSingleLinkedList< T, Next >::m_head, Q_ASSERT, and QSSG_VERIFY_NODE.

+ Here is the call graph for this function:

◆ push_front()

template<typename T , T *T::* Next>
void QSSGInvasiveSingleLinkedList< T, Next >::push_front ( T & inObj)
inline

◆ remove()

template<typename T , T *T::* Next>
void QSSGInvasiveSingleLinkedList< T, Next >::remove ( T & inObj)
inline

Definition at line 174 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkListBase< T, QSSGNullOp< T >, QSSGListAccessorNext< T, Next > >::head(), QSSGInvasiveSingleLinkedList< T, Next >::m_head, and QSSGInvasiveLinkListBase< T, QSSGNullOp< T >, QSSGListAccessorNext< T, Next > >::tail().

Referenced by QSSGInvasiveSingleLinkedList< T, Next >::removeAll().

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

◆ removeAll()

template<typename T , T *T::* Next>
void QSSGInvasiveSingleLinkedList< T, Next >::removeAll ( )
inline

removeAll removes all nodes and re-sets their tail to null.

Definition at line 199 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveSingleLinkedList< T, Next >::begin(), QSSGInvasiveSingleLinkedList< T, Next >::end(), it, and QSSGInvasiveSingleLinkedList< T, Next >::remove().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_head


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