Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
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)
T * head (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 m_head.

◆ begin() [2/2]

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

Definition at line 218 of file qssginvasivelinkedlist_p.h.

References m_head.

◆ 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 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.

◆ 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

Definition at line 143 of file qssginvasivelinkedlist_p.h.

References m_head.

◆ isEmpty()

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

Definition at line 214 of file qssginvasivelinkedlist_p.h.

References m_head.

◆ 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 m_head.

◆ push_front()

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

Definition at line 145 of file qssginvasivelinkedlist_p.h.

References m_head.

◆ 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 m_head.

Referenced by removeAll().

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 remove().

Here is the call graph for this function:

Member Data Documentation

◆ m_head

template<typename T, T *T::* Next>
T* QSSGInvasiveSingleLinkedList< T, Next >::m_head = nullptr

Definition at line 141 of file qssginvasivelinkedlist_p.h.

Referenced by begin(), begin(), clear(), front(), isEmpty(), push_back(), push_front(), and remove().


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