dune-istl
2.6-git
|
A vector of blocks with memory management. More...
#include <dune/istl/bvector.hh>
Public Types | |
enum | { blocklevel = B::blocklevel+1 } |
increment block level counter More... | |
typedef B::field_type | field_type |
export the type representing the field More... | |
typedef B | block_type |
export the type representing the components More... | |
typedef A | allocator_type |
export the allocator type More... | |
typedef A::size_type | size_type |
The type for the index access. More... | |
typedef Imp::block_vector_unmanaged< B, A >::Iterator | Iterator |
make iterators available as types More... | |
typedef Imp::block_vector_unmanaged< B, A >::ConstIterator | ConstIterator |
make iterators available as types More... | |
Public Member Functions | |
BlockVector () | |
makes empty vector More... | |
BlockVector (size_type _n) | |
make vector with _n components More... | |
BlockVector (std::initializer_list< B > const &l) | |
Construct from a std::initializer_list. More... | |
template<typename S > | |
BlockVector (size_type _n, S _capacity) | |
Make vector with _n components but preallocating capacity components. More... | |
void | reserve (size_type capacity, bool copyOldValues=true) |
Reserve space. More... | |
size_type | capacity () const |
Get the capacity of the vector. More... | |
void | resize (size_type size, bool copyOldValues=true) |
Resize the vector. More... | |
BlockVector (const BlockVector &a) | |
copy constructor More... | |
~BlockVector () | |
free dynamic memory More... | |
BlockVector & | operator= (const BlockVector &a) |
assignment More... | |
BlockVector & | operator= (const field_type &k) |
assign from scalar More... | |
template<class OtherAlloc > | |
BlockVector & | operator= (const BlockVectorWindow< B, OtherAlloc > &other) |
Assignment from BlockVectorWindow. More... | |
Protected Attributes | |
size_type | capacity_ |
A | allocator_ |
A vector of blocks with memory management.
BlockVector adds memory management with ordinary copy semantics to the block_vector_unmanaged template.
Error checking: no error checking is provided normally. Setting the compile time switch DUNE_ISTL_WITH_CHECKING enables error checking.
typedef A Dune::BlockVector< B, A >::allocator_type |
export the allocator type
typedef B Dune::BlockVector< B, A >::block_type |
export the type representing the components
typedef Imp::block_vector_unmanaged<B,A>::ConstIterator Dune::BlockVector< B, A >::ConstIterator |
make iterators available as types
typedef B::field_type Dune::BlockVector< B, A >::field_type |
export the type representing the field
typedef Imp::block_vector_unmanaged<B,A>::Iterator Dune::BlockVector< B, A >::Iterator |
make iterators available as types
typedef A::size_type Dune::BlockVector< B, A >::size_type |
The type for the index access.
anonymous enum |
|
inline |
makes empty vector
|
inlineexplicit |
make vector with _n components
|
inline |
Construct from a std::initializer_list.
|
inline |
Make vector with _n components but preallocating capacity components.
If _n > capacity then space for _n entries is allocated.
|
inline |
copy constructor
|
inline |
free dynamic memory
|
inline |
Get the capacity of the vector.
I. e. the maximum number of elements the vector can hold.
|
inline |
assignment
|
inline |
assign from scalar
|
inline |
Assignment from BlockVectorWindow.
|
inline |
Reserve space.
After calling this method the vector can hold up to capacity values. If the specified capacity is smaller than the current capacity and bigger than the current size space will be freed.
If the template parameter copyOldValues is true the values will be copied. If it is false the old values are lost.
capacity | The maximum number of elements the vector needs to hold. |
copyOldValues | If false no object will be copied and the data might be lost. Default value is true. |
|
inline |
Resize the vector.
After calling this method BlockVector::N() will return size If the capacity of the vector is smaller than the specified size then reserve(size) will be called.
If the template parameter copyOldValues is true the values will be copied if the capacity changes. If it is false the old values are lost.
size | The new size of the vector. |
copyOldValues | If false no object will be copied and the data might be lost. |
|
protected |
|
protected |