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

Vector of vectors. More...

#include <Urho3D/Container/MultiVector.h>

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

Classes

class  BaseIterator
 Iterator base. More...
 

Public Types

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.
 

Public Member Functions

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

Private Attributes

OuterCollection outer_
 Internal collection.
 

Detailed Description

template<class T>
class Urho3D::MultiVector< T >

Vector of vectors.


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