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
QSSGInvasiveLinkedList< T, Previous, Next > Struct Template Reference

#include <qssginvasivelinkedlist_p.h>

+ Inheritance diagram for QSSGInvasiveLinkedList< T, Previous, Next >:
+ Collaboration diagram for QSSGInvasiveLinkedList< T, Previous, Next >:

Public Types

using HeadOp = QSSGListAccessorPrevious<T, Previous>
 
using TailOp = QSSGListAccessorNext<T, Next>
 
using List = QSSGInvasiveLinkedList<T, Previous, Next>
 
using BaseList = QSSGInvasiveLinkListBase<T, HeadOp, TailOp>
 
using iterator = QSSGLinkedListIterator<T, TailOp>
 
using const_iterator = iterator
 
using reverse_iterator = QSSGLinkedListIterator<T, HeadOp>
 
using const_reverse_iterator = reverse_iterator
 

Public Member Functions

T & front () const
 
T & back () const
 
T * front_ptr () const
 
T * back_ptr () 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 head and tail to null.
 
void clear ()
 clear will set the head and tail of the list to null.
 
bool isEmpty () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
- Public Member Functions inherited from QSSGInvasiveLinkListBase< T, QSSGListAccessorPrevious< T, Previous >, 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
 
T * m_tail = nullptr
 

Detailed Description

template<typename T, T *T::* Previous, T *T::* Next>
struct QSSGInvasiveLinkedList< T, Previous, Next >

Definition at line 223 of file qssginvasivelinkedlist_p.h.

Member Typedef Documentation

◆ BaseList

template<typename T , T *T::* Previous, T *T::* Next>
using QSSGInvasiveLinkedList< T, Previous, Next >::BaseList = QSSGInvasiveLinkListBase<T, HeadOp, TailOp>

Definition at line 228 of file qssginvasivelinkedlist_p.h.

◆ const_iterator

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

Definition at line 230 of file qssginvasivelinkedlist_p.h.

◆ const_reverse_iterator

template<typename T , T *T::* Previous, T *T::* Next>
using QSSGInvasiveLinkedList< T, Previous, Next >::const_reverse_iterator = reverse_iterator

Definition at line 232 of file qssginvasivelinkedlist_p.h.

◆ HeadOp

template<typename T , T *T::* Previous, T *T::* Next>
using QSSGInvasiveLinkedList< T, Previous, Next >::HeadOp = QSSGListAccessorPrevious<T, Previous>

Definition at line 225 of file qssginvasivelinkedlist_p.h.

◆ iterator

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

Definition at line 229 of file qssginvasivelinkedlist_p.h.

◆ List

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

Definition at line 227 of file qssginvasivelinkedlist_p.h.

◆ reverse_iterator

template<typename T , T *T::* Previous, T *T::* Next>
using QSSGInvasiveLinkedList< T, Previous, Next >::reverse_iterator = QSSGLinkedListIterator<T, HeadOp>

Definition at line 231 of file qssginvasivelinkedlist_p.h.

◆ TailOp

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

Definition at line 226 of file qssginvasivelinkedlist_p.h.

Member Function Documentation

◆ back()

template<typename T , T *T::* Previous, T *T::* Next>
T & QSSGInvasiveLinkedList< T, Previous, Next >::back ( ) const
inline

Definition at line 242 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_tail, and Q_ASSERT.

Referenced by QSSGRenderLayer::removeImportScene().

+ Here is the caller graph for this function:

◆ back_ptr()

template<typename T , T *T::* Previous, T *T::* Next>
T * QSSGInvasiveLinkedList< T, Previous, Next >::back_ptr ( ) const
inline

◆ begin() [1/2]

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

Definition at line 318 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_head.

Referenced by QSSGInvasiveLinkedList< T, Previous, Next >::removeAll(), and QSSGRenderNode::removeFromGraph().

+ Here is the caller graph for this function:

◆ begin() [2/2]

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

◆ clear()

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

clear will set the head and tail of the list to null.

Note that the nodes are not updated in this case!

Definition at line 311 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_head, and QSSGInvasiveLinkedList< T, Previous, Next >::m_tail.

Referenced by QSSGRenderLayer::removeImportScene(), and QSSGRenderLayer::setImportScene().

+ Here is the caller graph for this function:

◆ end() [1/2]

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

Definition at line 319 of file qssginvasivelinkedlist_p.h.

Referenced by QSSGInvasiveLinkedList< T, Previous, Next >::removeAll(), and QSSGRenderNode::removeFromGraph().

+ Here is the caller graph for this function:

◆ end() [2/2]

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

Definition at line 322 of file qssginvasivelinkedlist_p.h.

◆ front()

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

◆ front_ptr()

template<typename T , T *T::* Previous, T *T::* Next>
T * QSSGInvasiveLinkedList< T, Previous, Next >::front_ptr ( ) const
inline

◆ isEmpty()

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

Definition at line 316 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_head.

Referenced by QSSGRenderLayer::removeImportScene().

+ Here is the caller graph for this function:

◆ push_back()

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

Definition at line 269 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_head, QSSGInvasiveLinkedList< T, Previous, Next >::m_tail, and QSSG_VERIFY_NODE.

Referenced by QSSGRenderNode::addChild(), and QSSGRenderLayer::setImportScene().

+ Here is the caller graph for this function:

◆ push_front()

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

◆ rbegin() [1/2]

template<typename T , T *T::* Previous, T *T::* Next>
reverse_iterator QSSGInvasiveLinkedList< T, Previous, Next >::rbegin ( )
inline

◆ rbegin() [2/2]

template<typename T , T *T::* Previous, T *T::* Next>
const_reverse_iterator QSSGInvasiveLinkedList< T, Previous, Next >::rbegin ( ) const
inline

◆ remove()

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

Definition at line 288 of file qssginvasivelinkedlist_p.h.

References QSSGInvasiveLinkedList< T, Previous, Next >::m_head, and QSSGInvasiveLinkedList< T, Previous, Next >::m_tail.

Referenced by QSSGInvasiveLinkedList< T, Previous, Next >::removeAll(), QSSGRenderNode::removeChild(), and QSSGRenderNode::removeFromGraph().

+ Here is the caller graph for this function:

◆ removeAll()

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

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

Definition at line 301 of file qssginvasivelinkedlist_p.h.

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

+ Here is the call graph for this function:

◆ rend() [1/2]

template<typename T , T *T::* Previous, T *T::* Next>
reverse_iterator QSSGInvasiveLinkedList< T, Previous, Next >::rend ( )
inline

Definition at line 325 of file qssginvasivelinkedlist_p.h.

◆ rend() [2/2]

template<typename T , T *T::* Previous, T *T::* Next>
const_reverse_iterator QSSGInvasiveLinkedList< T, Previous, Next >::rend ( ) const
inline

Definition at line 328 of file qssginvasivelinkedlist_p.h.

Member Data Documentation

◆ m_head

◆ m_tail


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