|
| SparseVector () |
| Default constructor. Yields an empty SparseVector.
|
|
| SparseVector (int sz) |
| Constructs a SparseVector with a given size, but no nonzero elements.
|
|
template<typename DataIter , typename IntegerIter > |
| SparseVector (int sz, DataIter data_beg, DataIter data_end, IntegerIter index_beg, IntegerIter index_end) |
| A constructor taking all the element data for the vector and their indices. More...
|
|
void | addElement (const T &elem, int index) |
| Appends an element to the vector. More...
|
|
bool | empty () const |
|
int | size () const |
| Returns the size of the vector. More...
|
|
int | nonzeroSize () const |
| Returns the number of nonzero data elements.
|
|
void | clear () |
| Makes the vector empty().
|
|
bool | operator== (const SparseVector &other) const |
| Equality.
|
|
const T & | element (int index) const |
| O(log n) element access. More...
|
|
const T & | nonzeroElement (int nzindex) const |
| O(1) element access. More...
|
|
int | nonzeroIndex (int nzindex) const |
| O(1) index access. More...
|
|
template<typename T>
class Opm::SparseVector< T >
A SparseVector stores a vector with possibly many empty elements as efficiently as possible.
It is supposed to behave similarly to a standard vector, but since direct indexing is a O(log n) operation instead of O(1), we do not supply it as operator[].