Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions
NCollection_List< TheItemType > Class Template Reference

#include <NCollection_List.hxx>

Inheritance diagram for NCollection_List< TheItemType >:
Inheritance graph
[legend]

Public Types

typedef TheItemType value_type
 STL-compliant typedef for value type.
 
typedef NCollection_TListNode< TheItemTypeListNode
 
typedef NCollection_TListIterator< TheItemTypeIterator
 
typedef NCollection_StlIterator< std::forward_iterator_tag, Iterator, TheItemType, falseiterator
 Shorthand for a regular iterator type.
 
typedef NCollection_StlIterator< std::forward_iterator_tag, Iterator, TheItemType, trueconst_iterator
 Shorthand for a constant iterator type.
 

Public Member Functions

iterator begin () noexcept
 Returns an iterator pointing to the first element in the list.
 
iterator end () noexcept
 Returns an iterator referring to the past-the-end element in the list.
 
const_iterator begin () const noexcept
 Returns a const iterator pointing to the first element in the list.
 
const_iterator end () const noexcept
 Returns a const iterator referring to the past-the-end element in the list.
 
const_iterator cbegin () const noexcept
 Returns a const iterator pointing to the first element in the list.
 
const_iterator cend () const noexcept
 Returns a const iterator referring to the past-the-end element in the list.
 
 NCollection_List ()
 Empty constructor.
 
 NCollection_List (const occ::handle< NCollection_BaseAllocator > &theAllocator)
 Constructor.
 
 NCollection_List (const NCollection_List &theOther)
 Copy constructor.
 
 NCollection_List (NCollection_List &&theOther) noexcept
 Move constructor.
 
 NCollection_List (std::initializer_list< TheItemType > theInitList, const occ::handle< NCollection_BaseAllocator > &theAllocator=occ::handle< NCollection_BaseAllocator >())
 Initializer list constructor.
 
NCollection_ListAssign (const NCollection_List &theOther)
 Replace this list by the items of another list (theOther parameter). This method does not change the internal allocator.
 
NCollection_Listoperator= (const NCollection_List &theOther)
 Replacement operator.
 
NCollection_Listoperator= (NCollection_List &&theOther) noexcept
 Move operator.
 
void Clear (const occ::handle< NCollection_BaseAllocator > &theAllocator=nullptr)
 Clear this list.
 
const TheItemTypeFirst () const
 First item.
 
TheItemTypeFirst ()
 First item (non-const)
 
const TheItemTypeLast () const
 Last item.
 
TheItemTypeLast ()
 Last item (non-const)
 
TheItemTypeAppend (const TheItemType &theItem)
 Append one item at the end.
 
TheItemTypeAppend (TheItemType &&theItem)
 Append one item at the end.
 
void Append (const TheItemType &theItem, Iterator &theIter)
 Append one item at the end and output iterator pointing at the appended item.
 
void Append (TheItemType &&theItem, Iterator &theIter)
 Append one item at the end and output iterator pointing at the appended item.
 
void Append (NCollection_List &theOther)
 Append another list at the end. After this operation, theOther list will be cleared.
 
TheItemTypePrepend (const TheItemType &theItem)
 Prepend one item at the beginning.
 
TheItemTypePrepend (TheItemType &&theItem)
 Prepend one item at the beginning.
 
void Prepend (NCollection_List &theOther)
 Prepend another list at the beginning.
 
void RemoveFirst ()
 RemoveFirst item.
 
void Remove (Iterator &theIter)
 Remove item pointed by iterator theIter; theIter is then set to the next item.
 
template<typename TheValueType >
bool Remove (const TheValueType &theObject)
 Remove the first occurrence of the object.
 
TheItemTypeInsertBefore (const TheItemType &theItem, Iterator &theIter)
 InsertBefore.
 
TheItemTypeInsertBefore (TheItemType &&theItem, Iterator &theIter)
 InsertBefore.
 
void InsertBefore (NCollection_List &theOther, Iterator &theIter)
 InsertBefore.
 
TheItemTypeInsertAfter (const TheItemType &theItem, Iterator &theIter)
 InsertAfter.
 
TheItemTypeInsertAfter (TheItemType &&theItem, Iterator &theIter)
 InsertAfter.
 
void InsertAfter (NCollection_List &theOther, Iterator &theIter)
 InsertAfter.
 
template<typename... Args>
TheItemTypeEmplaceAppend (Args &&... theArgs)
 Emplace one item at the end, constructing it in-place.
 
template<typename... Args>
TheItemTypeEmplacePrepend (Args &&... theArgs)
 Emplace one item at the beginning, constructing it in-place.
 
template<typename... Args>
TheItemTypeEmplaceBefore (Iterator &theIter, Args &&... theArgs)
 Emplace one item before the iterator position, constructing it in-place.
 
template<typename... Args>
TheItemTypeEmplaceAfter (Iterator &theIter, Args &&... theArgs)
 Emplace one item after the iterator position, constructing it in-place.
 
void Reverse () noexcept
 Reverse the list.
 
void Exchange (NCollection_List &theOther) noexcept
 Exchange the content of two lists without re-allocations. Swaps all internal state including allocators, ensuring correct deallocation. Existing iterators remain valid but will point to the other list's elements.
 
template<typename TheValueType >
bool Contains (const TheValueType &theObject) const
 Return true if object is stored in the list.
 
 ~NCollection_List () override
 Destructor - clears the List.
 
- Public Member Functions inherited from NCollection_BaseList
int Extent () const noexcept
 
int Length () const noexcept
 Length - number of nodes (legacy int-returning API, synonym of Extent()).
 
size_t Size () const noexcept
 Size - number of nodes.
 
bool IsEmpty () const noexcept
 
const occ::handle< NCollection_BaseAllocator > & Allocator () const noexcept
 Returns attached allocator.
 
virtual ~NCollection_BaseList ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from NCollection_BaseList
 NCollection_BaseList (const occ::handle< NCollection_BaseAllocator > &theAllocator=nullptr)
 
void PClear (NCollection_DelListNode fDel)
 
const NCollection_ListNodePFirst () const noexcept
 
const NCollection_ListNodePLast () const noexcept
 
void PAppend (NCollection_ListNode *theNode) noexcept
 
void PAppend (NCollection_ListNode *theNode, Iterator &theIt) noexcept
 
void PAppend (NCollection_BaseList &theOther) noexcept
 
void PPrepend (NCollection_ListNode *theNode) noexcept
 
void PPrepend (NCollection_BaseList &theOther) noexcept
 
void PRemoveFirst (NCollection_DelListNode fDel)
 
void PRemove (Iterator &theIter, NCollection_DelListNode fDel)
 
void PInsertBefore (NCollection_ListNode *theNode, Iterator &theIter)
 
void PInsertBefore (NCollection_BaseList &theOther, Iterator &theIter)
 
void PInsertAfter (NCollection_ListNode *theNode, Iterator &theIter)
 
void PInsertAfter (NCollection_BaseList &theOther, Iterator &theIter)
 
void PReverse () noexcept
 
void PExchange (NCollection_BaseList &theOther) noexcept
 
- Protected Attributes inherited from NCollection_BaseList
occ::handle< NCollection_BaseAllocatormyAllocator
 
NCollection_ListNodemyFirst
 
NCollection_ListNodemyLast
 
size_t myLength
 

Detailed Description

template<class TheItemType>
class NCollection_List< TheItemType >

Purpose: Simple list to link items together keeping the first and the last one. Inherits BaseList, adding the data item to each node.

Member Typedef Documentation

◆ const_iterator

template<class TheItemType >
typedef NCollection_StlIterator<std::forward_iterator_tag, Iterator, TheItemType, true> NCollection_List< TheItemType >::const_iterator

Shorthand for a constant iterator type.

◆ Iterator

◆ iterator

Shorthand for a regular iterator type.

◆ ListNode

◆ value_type

STL-compliant typedef for value type.

Constructor & Destructor Documentation

◆ NCollection_List() [1/5]

Empty constructor.

◆ NCollection_List() [2/5]

Constructor.

◆ NCollection_List() [3/5]

Copy constructor.

◆ NCollection_List() [4/5]

Move constructor.

◆ NCollection_List() [5/5]

template<class TheItemType >
NCollection_List< TheItemType >::NCollection_List ( std::initializer_list< TheItemType > theInitList,
const occ::handle< NCollection_BaseAllocator > & theAllocator = occ::handle<NCollection_BaseAllocator>() )
inline

Initializer list constructor.

Parameters
theInitListinitializer list of elements to populate the list
theAllocatoroptional allocator for memory management

◆ ~NCollection_List()

template<class TheItemType >
NCollection_List< TheItemType >::~NCollection_List ( )
inlineoverride

Destructor - clears the List.

Member Function Documentation

◆ Append() [1/5]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::Append ( const TheItemType & theItem)
inline

Append one item at the end.

◆ Append() [2/5]

template<class TheItemType >
void NCollection_List< TheItemType >::Append ( const TheItemType & theItem,
Iterator & theIter )
inline

Append one item at the end and output iterator pointing at the appended item.

◆ Append() [3/5]

template<class TheItemType >
void NCollection_List< TheItemType >::Append ( NCollection_List< TheItemType > & theOther)
inline

Append another list at the end. After this operation, theOther list will be cleared.

◆ Append() [4/5]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::Append ( TheItemType && theItem)
inline

Append one item at the end.

◆ Append() [5/5]

template<class TheItemType >
void NCollection_List< TheItemType >::Append ( TheItemType && theItem,
Iterator & theIter )
inline

Append one item at the end and output iterator pointing at the appended item.

◆ Assign()

template<class TheItemType >
NCollection_List & NCollection_List< TheItemType >::Assign ( const NCollection_List< TheItemType > & theOther)
inline

Replace this list by the items of another list (theOther parameter). This method does not change the internal allocator.

◆ begin() [1/2]

template<class TheItemType >
const_iterator NCollection_List< TheItemType >::begin ( ) const
inlinenoexcept

Returns a const iterator pointing to the first element in the list.

◆ begin() [2/2]

template<class TheItemType >
iterator NCollection_List< TheItemType >::begin ( )
inlinenoexcept

Returns an iterator pointing to the first element in the list.

◆ cbegin()

template<class TheItemType >
const_iterator NCollection_List< TheItemType >::cbegin ( ) const
inlinenoexcept

Returns a const iterator pointing to the first element in the list.

◆ cend()

template<class TheItemType >
const_iterator NCollection_List< TheItemType >::cend ( ) const
inlinenoexcept

Returns a const iterator referring to the past-the-end element in the list.

◆ Clear()

template<class TheItemType >
void NCollection_List< TheItemType >::Clear ( const occ::handle< NCollection_BaseAllocator > & theAllocator = nullptr)
inline

Clear this list.

◆ Contains()

template<class TheItemType >
template<typename TheValueType >
bool NCollection_List< TheItemType >::Contains ( const TheValueType & theObject) const
inline

Return true if object is stored in the list.

◆ EmplaceAfter()

template<class TheItemType >
template<typename... Args>
TheItemType & NCollection_List< TheItemType >::EmplaceAfter ( Iterator & theIter,
Args &&... theArgs )
inline

Emplace one item after the iterator position, constructing it in-place.

Parameters
theIteriterator pointing to the position after which to insert
theArgsarguments forwarded to TheItemType constructor
Returns
reference to the newly constructed item

◆ EmplaceAppend()

template<class TheItemType >
template<typename... Args>
TheItemType & NCollection_List< TheItemType >::EmplaceAppend ( Args &&... theArgs)
inline

Emplace one item at the end, constructing it in-place.

Parameters
theArgsarguments forwarded to TheItemType constructor
Returns
reference to the newly constructed item

◆ EmplaceBefore()

template<class TheItemType >
template<typename... Args>
TheItemType & NCollection_List< TheItemType >::EmplaceBefore ( Iterator & theIter,
Args &&... theArgs )
inline

Emplace one item before the iterator position, constructing it in-place.

Parameters
theIteriterator pointing to the position before which to insert
theArgsarguments forwarded to TheItemType constructor
Returns
reference to the newly constructed item

◆ EmplacePrepend()

template<class TheItemType >
template<typename... Args>
TheItemType & NCollection_List< TheItemType >::EmplacePrepend ( Args &&... theArgs)
inline

Emplace one item at the beginning, constructing it in-place.

Parameters
theArgsarguments forwarded to TheItemType constructor
Returns
reference to the newly constructed item

◆ end() [1/2]

template<class TheItemType >
const_iterator NCollection_List< TheItemType >::end ( ) const
inlinenoexcept

Returns a const iterator referring to the past-the-end element in the list.

◆ end() [2/2]

template<class TheItemType >
iterator NCollection_List< TheItemType >::end ( )
inlinenoexcept

Returns an iterator referring to the past-the-end element in the list.

◆ Exchange()

template<class TheItemType >
void NCollection_List< TheItemType >::Exchange ( NCollection_List< TheItemType > & theOther)
inlinenoexcept

Exchange the content of two lists without re-allocations. Swaps all internal state including allocators, ensuring correct deallocation. Existing iterators remain valid but will point to the other list's elements.

◆ First() [1/2]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::First ( )
inline

First item (non-const)

◆ First() [2/2]

template<class TheItemType >
const TheItemType & NCollection_List< TheItemType >::First ( ) const
inline

First item.

◆ InsertAfter() [1/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::InsertAfter ( const TheItemType & theItem,
Iterator & theIter )
inline

InsertAfter.

◆ InsertAfter() [2/3]

template<class TheItemType >
void NCollection_List< TheItemType >::InsertAfter ( NCollection_List< TheItemType > & theOther,
Iterator & theIter )
inline

InsertAfter.

◆ InsertAfter() [3/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::InsertAfter ( TheItemType && theItem,
Iterator & theIter )
inline

InsertAfter.

◆ InsertBefore() [1/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::InsertBefore ( const TheItemType & theItem,
Iterator & theIter )
inline

InsertBefore.

◆ InsertBefore() [2/3]

template<class TheItemType >
void NCollection_List< TheItemType >::InsertBefore ( NCollection_List< TheItemType > & theOther,
Iterator & theIter )
inline

InsertBefore.

◆ InsertBefore() [3/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::InsertBefore ( TheItemType && theItem,
Iterator & theIter )
inline

InsertBefore.

◆ Last() [1/2]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::Last ( )
inline

Last item (non-const)

◆ Last() [2/2]

template<class TheItemType >
const TheItemType & NCollection_List< TheItemType >::Last ( ) const
inline

Last item.

◆ operator=() [1/2]

Replacement operator.

◆ operator=() [2/2]

Move operator.

◆ Prepend() [1/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::Prepend ( const TheItemType & theItem)
inline

Prepend one item at the beginning.

◆ Prepend() [2/3]

template<class TheItemType >
void NCollection_List< TheItemType >::Prepend ( NCollection_List< TheItemType > & theOther)
inline

Prepend another list at the beginning.

◆ Prepend() [3/3]

template<class TheItemType >
TheItemType & NCollection_List< TheItemType >::Prepend ( TheItemType && theItem)
inline

Prepend one item at the beginning.

◆ Remove() [1/2]

template<class TheItemType >
template<typename TheValueType >
bool NCollection_List< TheItemType >::Remove ( const TheValueType & theObject)
inline

Remove the first occurrence of the object.

◆ Remove() [2/2]

template<class TheItemType >
void NCollection_List< TheItemType >::Remove ( Iterator & theIter)
inline

Remove item pointed by iterator theIter; theIter is then set to the next item.

◆ RemoveFirst()

template<class TheItemType >
void NCollection_List< TheItemType >::RemoveFirst ( )
inline

RemoveFirst item.

◆ Reverse()

template<class TheItemType >
void NCollection_List< TheItemType >::Reverse ( )
inlinenoexcept

Reverse the list.


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