Rebel Fork Framework
Urho3D::WorkQueueVector< T > Class Template Reference

Vector-like collection that can be safely filled from different WorkQueue threads simultaneously. More...

#include <Urho3D/Core/WorkQueue.h>

Inheritance diagram for Urho3D::WorkQueueVector< T >:
Urho3D::MultiVector< T >

Public Member Functions

void Clear ()
 Clear collection, considering number of threads in WorkQueue. More...
 
auto Insert (const T &value)
 Insert new element. Thread-safe as long as called from WorkQueue threads (or main thread).
 
template<class ... Args>
T & Emplace (Args &&... args)
 Emplace element. Thread-safe as long as called from WorkQueue threads (or main thread).
 
- Public Member Functions inherited from Urho3D::MultiVector< T >
void Clear (unsigned outerSize)
 Clear inner vectors. Reset outer vector to fixed size.
 
template<class ... Args>
T & EmplaceBack (unsigned outerIndex, Args &&... args)
 Emplace element at the back of specified outer vector.
 
Index PushBack (unsigned outerIndex, const T &value)
 Push element into back of specified outer vector. Return index of added element.
 
void PopBack (unsigned outerIndex)
 Pop element from back of specified outer vector.
 
unsigned Size () const
 Return size.
 
void Resize (int outerSize)
 Resize outer vector.
 
void CopyTo (InnerCollection &dest) const
 Copy content to vector.
 
T & operator[] (const Index &index)
 Return element (mutable).
 
const T & operator[] (const Index &index) const
 Return element (mutable).
 
const OuterCollectionGetUnderlyingCollection () const
 Return outer collection (mutable).
 
OuterCollectionGetUnderlyingCollection ()
 Return outer collection (const).
 
Iterator Begin ()
 Return begin iterator (mutable).
 
Iterator End ()
 Return end iterator (mutable).
 
ConstIterator Begin () const
 Return begin iterator (const).
 
ConstIterator End () const
 Return end iterator (const).
 

Additional Inherited Members

- Public Types inherited from Urho3D::MultiVector< T >
using InnerCollection = ea::vector< T >
 Inner collection type.
 
using OuterCollection = ea::vector< InnerCollection >
 Outer collection type.
 
using Index = ea::pair< unsigned, unsigned >
 Index in multi-vector (pair of outer and inner indices).
 
using Iterator = BaseIterator< typename OuterCollection::iterator, typename InnerCollection::iterator >
 Mutable iterator.
 
using ConstIterator = BaseIterator< typename OuterCollection::const_iterator, typename InnerCollection::const_iterator >
 Const iterator.
 

Detailed Description

template<class T>
class Urho3D::WorkQueueVector< T >

Vector-like collection that can be safely filled from different WorkQueue threads simultaneously.

Member Function Documentation

◆ Clear()

template<class T >
void Urho3D::WorkQueueVector< T >::Clear

Clear collection, considering number of threads in WorkQueue.

WorkQueueVector implementation


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