Chombo + EB + MF  3.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Vector< T > Class Template Reference

one dimensional dynamic array More...

#include <Vector.H>

Public Member Functions

 Vector ()
 
virtual ~Vector ()
 
 Vector (const Vector< T > &invec)
 
 Vector (Vector< T > &&a_invec) noexcept
 
 Vector (const std::vector< T > &invec)
 
Vector< T > & operator= (const std::vector< T > &invec)
 
Vector< T > & operator= (Vector< T > &&a_invec)
 
Vector< T > & operator= (const Vector< T > &invec)
 
Vector< T > & assign (const T &inval)
 assign a scalar to every element of the vector More...
 
 Vector (unsigned int isize)
 
void clear ()
 
size_t size () const
 
 Vector (unsigned int isize, const T &value)
 
T & operator[] (unsigned int n)
 
const T & operator[] (unsigned int n) const
 
T & front ()
 
T & back ()
 
void pop_back ()
 
const T & back () const
 
void swap (Vector< T > &other)
 
void push_back (const T &in)
 
void push_back (T &&in)
 
void append (const Vector< T > &invec)
 
void resize (unsigned int isize)
 
void reserve (size_t isize)
 
size_t capacity () const
 
void resize (unsigned int isize, const T &value)
 
void sort ()
 
std::vector< T > & stdVector ()
 Returns std::vector under the hood. More...
 
const std::vector< T > & constStdVector () const
 

Private Member Functions

unsigned int initFunc ()
 

Private Attributes

std::vector< T > v
 

Detailed Description

template<class T>
class Vector< T >

one dimensional dynamic array

Vector is a resizable one-dimensional array with constant-time random access and range checking. The template type T must have a default constructor, a copy constructor, and an assignment operator.

Constructor & Destructor Documentation

◆ Vector() [1/6]

template<class T>
Vector< T >::Vector ( )
inline

Default constructor. Creates a Vector of zero length with null data.

◆ ~Vector()

template<class T>
virtual Vector< T >::~Vector ( )
inlinevirtual

Destructor.

◆ Vector() [2/6]

template<class T>
Vector< T >::Vector ( const Vector< T > &  invec)
inline

Copy constructor.

◆ Vector() [3/6]

template<class T>
Vector< T >::Vector ( Vector< T > &&  a_invec)
inlinenoexcept

◆ Vector() [4/6]

template<class T>
Vector< T >::Vector ( const std::vector< T > &  invec)
inline

conversion constructor

◆ Vector() [5/6]

template<class T>
Vector< T >::Vector ( unsigned int  isize)
inline

Constructs a Vector with given number of elements.\

{ Arguments:}\ size (not modified): number of elements of Vector to construct.\ { This:}\ ----—The object is modified-------—

◆ Vector() [6/6]

template<class T>
Vector< T >::Vector ( unsigned int  isize,
const T &  value 
)
inline

Constructs a Vector with given number of elements and constant value.\

{ Arguments:}\ size (not modified): number of elements of Vector to construct.\ value (not modified): value to set every element to.\ { This:}\ ----—The object is modified-------—

Member Function Documentation

◆ operator=() [1/3]

template<class T>
Vector<T>& Vector< T >::operator= ( const std::vector< T > &  invec)
inline

◆ operator=() [2/3]

template<class T>
Vector<T>& Vector< T >::operator= ( Vector< T > &&  a_invec)
inline

◆ operator=() [3/3]

template<class T>
Vector<T>& Vector< T >::operator= ( const Vector< T > &  invec)
inline

◆ assign()

template<class T>
Vector<T>& Vector< T >::assign ( const T &  inval)
inline

assign a scalar to every element of the vector

[NOTE: cant use operator=() for this because it would be ambiguous with the (int) constructor for number T types.]

Referenced by BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::computeDiffusion().

◆ clear()

template<class T>
void Vector< T >::clear ( )
inline

◆ size()

template<class T>
size_t Vector< T >::size ( ) const
inline

size function. returns current size of Vector

Referenced by IFidTable::add(), IFid::aggregate(), LayoutData< Vector< IntVectSet > >::allocate(), BoxLayoutData< BaseFab< int > >::allocateGhostVector(), ParticleData< P >::allocateVector(), AMRTGA< T >::AMRTGA(), IFid::append(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::append(), AggStencil< BaseIVFAB< Real >, EBCellFAB >::apply(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::assign(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::BaseLevelHeatSolver(), blockWrite(), blockWriteBufferToFile(), buildLocalIndexList(), CodimBox< S >::clear(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::clear(), MultiGrid< T >::clear(), BoxLayoutData< BaseFab< int > >::clear(), AMRMultiGrid< LevelData< MFCellFAB > >::clear(), AMRFASMultiGrid< T >::clear_private(), MinimalCCCM< dim >::computeRhs(), ComputeCutCellMoments< dim >::computeRhs(), AMRTGA< T >::createData(), dataSize(), BaseEBFaceFAB< Real >::dataType(), MultilevelLinearOp< T >::define(), MiniIFFAB< Real >::define(), TreeIntVectSetIterator::define(), RK4DenseOutput< Soln, Rhs, EXOP >::denseOutputCoefs(), ARK4DenseOutput< Soln, Rhs, IMEXOp >::denseOutputCoefs(), MultilevelLinearOp< T >::dotProduct(), ShiftIterator::end(), LSProblem< dim >::fillMap(), MiniIVFAB< Real >::forall(), gatherBoxesAndOffsets(), ParmParse::getarr(), MiniIFFAB< Real >::getFaceSubset(), AMRMultiGrid< LevelData< MFCellFAB > >::getInfo(), getOffsets(), BaseIVFAB< Real >::linearIn(), BaseIFFAB< FaceStencil >::linearIn(), MiniIFFAB< Real >::linearIn(), CodimBox< S >::linearIn(), linearListOut(), linearListSize(), BaseIVFAB< Real >::linearOut(), BaseIFFAB< FaceStencil >::linearOut(), MiniIFFAB< Real >::linearOut(), CodimBox< S >::linearOut(), MultiBlockCoordSys::numBlocks(), MFCellFAB::numPhases(), MFFluxFAB::numPhases(), MFIndexSpace::numPhases(), BaseEBFaceFAB< Real >::offset(), TagSet::ok(), ShiftIterator::ok(), CopyIterator::ok(), FASMultiGrid< T >::oneCycle(), operator<<(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::operator=(), IFid::operator==(), BoxLayout::operator==(), IFidTable::operator[](), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::operator[](), LSProblem< dim >::outputBounds(), LSProblem< dim >::outputRhs(), LSProblem< dim >::outputUnknowns(), CutCellMoments< dim >::print(), ParmParse::queryarr(), read(), readParticlesFromHDF(), regionGather(), AMRMultiGrid< LevelData< MFCellFAB > >::relaxOnlyHomogeneous(), AMRTGA< T >::resetAlphaAndBeta(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::resetSolverAlphaAndBeta(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::resize(), VarCoefStencil::setAllVariables(), BaseEBCellFAB< Real >::setCoveredCellVal(), BaseEBFaceFAB< Real >::setCoveredFaceVal(), AMRMultiGrid< LevelData< MFCellFAB > >::setMGCycle(), IFData< dim >::setNormalDerivatives(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setRegular(), AMRTGA< T >::setTime(), VarCoefStencil::size(), VoFIterator::size(), IFidTable::size(), BaseIVFAB< Real >::size(), BaseIFFAB< FaceStencil >::size(), MiniIFFAB< Real >::size(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::size(), BaseLevelHeatSolver< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::solveHelm(), AMRFASMultiGrid< T >::solveNoInit(), AMRMultiGrid< LevelData< MFCellFAB > >::solveNoInit(), AMRMultiGrid< LevelData< MFCellFAB > >::solveNoInitResid(), BaseLevelCrankNicolson< LevelData< EBCellFAB >, EBFluxFAB, EBFluxRegister >::updateSoln(), BaseLevelBackwardEuler< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSoln(), BaseLevelTGA< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSolnWithTimeDependentOp(), BaseLevelTGA< LevelData< FArrayBox >, FluxBox, LevelFluxRegister >::updateSolnWithTimeIndependentOp(), Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::Vector(), write(), writeParticlesToHDF(), AmrAdaptor::~AmrAdaptor(), and Vector< LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB > * >::~Vector().

◆ operator[]() [1/2]

template<class T>
T& Vector< T >::operator[] ( unsigned int  n)
inline

Returns a modifiable lvalue reference to the value of the given element in this Vector. It is an error if n < 0 or n >= this->size(). \

{ Arguments:}\ n (not modified) index of desired element.\ { Returns:}\ modifiable reference to value in Vector at index n.\

{ This:}\

This object is modified if the returned reference is assigned a new value

◆ operator[]() [2/2]

template<class T>
const T& Vector< T >::operator[] ( unsigned int  n) const
inline

Returns a constant reference to the given element in this Vector.\

{ Arguments:}\ n (not modified) index of desired element.\ { Returns:}\ constant reference to value in Vector at index n.\ { This:}\ This object is not modified.

◆ front()

template<class T>
T& Vector< T >::front ( )
inline

◆ back() [1/2]

template<class T>
T& Vector< T >::back ( )
inline

Referenced by MultiGrid< T >::define().

◆ pop_back()

template<class T>
void Vector< T >::pop_back ( )
inline

◆ back() [2/2]

template<class T>
const T& Vector< T >::back ( ) const
inline

◆ swap()

template<class T>
void Vector< T >::swap ( Vector< T > &  other)
inline

◆ push_back() [1/2]

template<class T>
void Vector< T >::push_back ( const T &  in)
inline

◆ push_back() [2/2]

template<class T>
void Vector< T >::push_back ( T &&  in)
inline

◆ append()

template<class T>
void Vector< T >::append ( const Vector< T > &  invec)
inline

Modifies this Vector by appending the elements of the argument Vector. The new Vector will have a size of this->size() + invec.size() (where this Vector is considered before the append is performed). The first element of invec will have index this->size(), the second element will have index this->size()+1, etc.\

{ Arguments:}\ invec (not modified): Vector whose elements to append to this Vector.\ { This:}\ ----—The object is modified-------—

Referenced by AMRMultiGrid< LevelData< MFCellFAB > >::getAllOperators().

◆ resize() [1/2]

template<class T>
void Vector< T >::resize ( unsigned int  isize)
inline

◆ reserve()

template<class T>
void Vector< T >::reserve ( size_t  isize)
inline

◆ capacity()

template<class T>
size_t Vector< T >::capacity ( ) const
inline

◆ resize() [2/2]

template<class T>
void Vector< T >::resize ( unsigned int  isize,
const T &  value 
)
inline

◆ sort()

template<class T>
void Vector< T >::sort ( )
inline

◆ stdVector()

template<class T>
std::vector<T>& Vector< T >::stdVector ( )
inline

Returns std::vector under the hood.

Referenced by IFidTable::add().

◆ constStdVector()

template<class T>
const std::vector<T>& Vector< T >::constStdVector ( ) const
inline

◆ initFunc()

template<class T>
unsigned int Vector< T >::initFunc ( )
private

Member Data Documentation

◆ v

template<class T>
std::vector<T> Vector< T >::v
private

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