dune-istl 2.10
|
A Vector of blocks with different blocksizes. More...
#include <dune/istl/vbvector.hh>
Classes | |
class | CreateIterator |
Iterator class for sequential creation of blocks. More... | |
Public Types | |
using | field_type = typename Imp::BlockTraits<B>::field_type |
export the type representing the field | |
using | allocator_type = A |
export the allocator type | |
using | reference = window_type& |
Export type used for references to container entries. | |
using | const_reference = const window_type& |
Export type used for const references to container entries. | |
using | size_type = typename A::size_type |
The size type for the index access. | |
using | value_type = BlockVector<B,A> |
Type of the elements of the outer vector, i.e., dynamic vectors of B. | |
using | block_type = BlockVector<B,A> |
Same as value_type, here for historical reasons. | |
using | Iterator = IndexedIterator<typename VectorWindows::iterator> |
using | iterator = Iterator |
Export the iterator type using std naming rules. | |
using | ConstIterator = IndexedIterator<typename VectorWindows::const_iterator> |
Const iterator. | |
using | const_iterator = ConstIterator |
Export the const iterator type using std naming rules. | |
Public Member Functions | |
VariableBlockVector () | |
Constructor without arguments makes an empty vector. | |
VariableBlockVector (size_type numBlocks) | |
Construct a vector with given number of blocks, but size of each block is not yet known. | |
VariableBlockVector (size_type numBlocks, size_type blockSize) | |
Construct a vector with given number of blocks each having a constant size. | |
VariableBlockVector (const VariableBlockVector &a) | |
Copy constructor, has copy semantics. | |
VariableBlockVector (VariableBlockVector &&tmp) | |
Move constructor: | |
~VariableBlockVector ()=default | |
VariableBlockVector & | operator= (VariableBlockVector tmp) |
Copy and move assignment. | |
void | swap (VariableBlockVector &other) noexcept |
Exchange the storage and internal state with other . | |
void | resize (size_type numBlocks) |
same effect as constructor with same argument | |
void | resize (size_type numBlocks, size_type blockSize) |
same effect as constructor with same argument | |
VariableBlockVector & | operator= (const field_type &k) |
Set all entries to the given scalar k . | |
CreateIterator | createbegin () |
get initial create iterator | |
CreateIterator | createend () |
get create iterator pointing to one after the last block | |
window_type & | operator[] (size_type i) |
random access to blocks | |
const window_type & | operator[] (size_type i) const |
same for read only access | |
Iterator | begin () |
begin Iterator | |
Iterator | end () |
end Iterator | |
Iterator | beforeEnd () |
Iterator | beforeBegin () |
ConstIterator | begin () const |
begin ConstIterator | |
ConstIterator | end () const |
end ConstIterator | |
ConstIterator | beforeEnd () const |
ConstIterator | beforeBegin () const |
ConstIterator | rend () const |
end ConstIterator | |
Iterator | find (size_type i) |
random access returning iterator (end if not contained) | |
ConstIterator | find (size_type i) const |
random access returning iterator (end if not contained) | |
size_type | N () const noexcept |
number of blocks in the vector (are of variable size here) | |
size_type | size () const noexcept |
A Vector of blocks with different blocksizes.
implements a vector consisting of a number of blocks (to be given at run-time) which themselves consist of a number of blocks (also given at run-time) of the given type B.
VariableBlockVector is a container of containers!
using Dune::VariableBlockVector< B, A >::allocator_type = A |
export the allocator type
using Dune::VariableBlockVector< B, A >::block_type = BlockVector<B,A> |
Same as value_type, here for historical reasons.
using Dune::VariableBlockVector< B, A >::const_iterator = ConstIterator |
Export the const iterator type using std naming rules.
using Dune::VariableBlockVector< B, A >::const_reference = const window_type& |
Export type used for const references to container entries.
using Dune::VariableBlockVector< B, A >::ConstIterator = IndexedIterator<typename VectorWindows::const_iterator> |
Const iterator.
using Dune::VariableBlockVector< B, A >::field_type = typename Imp::BlockTraits<B>::field_type |
export the type representing the field
using Dune::VariableBlockVector< B, A >::Iterator = IndexedIterator<typename VectorWindows::iterator> |
using Dune::VariableBlockVector< B, A >::iterator = Iterator |
Export the iterator type using std naming rules.
using Dune::VariableBlockVector< B, A >::reference = window_type& |
Export type used for references to container entries.
using Dune::VariableBlockVector< B, A >::size_type = typename A::size_type |
The size type for the index access.
using Dune::VariableBlockVector< B, A >::value_type = BlockVector<B,A> |
Type of the elements of the outer vector, i.e., dynamic vectors of B.
Note that this is not the type referred to by the iterators and random access operators, which return proxy objects.
|
inline |
Constructor without arguments makes an empty vector.
|
inlineexplicit |
Construct a vector with given number of blocks, but size of each block is not yet known.
createbegin()
and createend()
create-iterators to fill the block sizes.
|
inline |
Construct a vector with given number of blocks each having a constant size.
numBlocks | Number of blocks |
blockSize | Number of elements in each block |
|
inline |
Copy constructor, has copy semantics.
|
inline |
Move constructor:
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
begin Iterator
|
inline |
begin ConstIterator
|
inline |
get initial create iterator
|
inline |
get create iterator pointing to one after the last block
|
inline |
end Iterator
|
inline |
end ConstIterator
|
inline |
random access returning iterator (end if not contained)
|
inline |
random access returning iterator (end if not contained)
|
inlinenoexcept |
number of blocks in the vector (are of variable size here)
|
inline |
Set all entries to the given scalar k
.
|
inline |
Copy and move assignment.
|
inline |
random access to blocks
|
inline |
same for read only access
|
inline |
end ConstIterator
|
inline |
same effect as constructor with same argument
|
inline |
same effect as constructor with same argument
|
inlinenoexcept |
Number of blocks in the vector
Returns the same value as method N(), because the vector is dense
|
inlinenoexcept |
Exchange the storage and internal state with other
.