|
|
| 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[].