This container extends base_array_unmanaged by memory management with the usual copy semantics providing the full range of copy constructor, destructor and assignment operators. More...
#include <dune/istl/basearray.hh>
Public Types | |
typedef B | member_type |
export the type representing the components | |
typedef A | allocator_type |
export the allocator type | |
typedef base_array_unmanaged < B, A >::iterator | iterator |
make iterators available as types | |
typedef base_array_unmanaged < B, A >::const_iterator | const_iterator |
make iterators available as types | |
typedef base_array_unmanaged < B, A >::size_type | size_type |
The type used for the index access. | |
typedef A::difference_type | difference_type |
The type used for the difference between two iterator positions. | |
Public Member Functions | |
base_array () | |
makes empty array | |
base_array (size_type _n) | |
make array with _n components | |
base_array (const base_array &a) | |
copy constructor | |
base_array (const base_array_unmanaged< B, A > &_a) | |
construct from base class object | |
~base_array () | |
free dynamic memory | |
void | resize (size_type _n) |
reallocate array to given size, any data is lost | |
base_array & | operator= (const base_array &a) |
assignment | |
base_array & | operator= (const base_array_unmanaged< B, A > &a) |
assign from base class object | |
B & | operator[] (size_type i) |
random access to blocks | |
const B & | operator[] (size_type i) const |
same for read only access | |
iterator | begin () |
begin iterator | |
const_iterator | begin () const |
begin const_iterator | |
iterator | end () |
end iterator | |
const_iterator | end () const |
end const_iterator | |
iterator | rbegin () |
begin reverse iterator | |
const_iterator | rbegin () const |
begin reverse const_iterator | |
iterator | rend () |
end reverse iterator | |
const_iterator | rend () const |
end reverse const_iterator | |
iterator | find (size_type i) |
random access returning iterator (end if not contained) | |
const_iterator | find (size_type i) const |
random access returning iterator (end if not contained) | |
size_type | size () const |
number of blocks in the array (are of size 1 here) | |
Protected Attributes | |
size_type | n |
B * | p |
This container extends base_array_unmanaged by memory management with the usual copy semantics providing the full range of copy constructor, destructor and assignment operators.
You can make
Error checking: no error checking is provided normally. Setting the compile time switch DUNE_ISTL_WITH_CHECKING enables error checking.
typedef A Dune::base_array< B, A >::allocator_type |
export the allocator type
Reimplemented from Dune::base_array_unmanaged< B, A >.
typedef base_array_unmanaged<B,A>::const_iterator Dune::base_array< B, A >::const_iterator |
make iterators available as types
Reimplemented from Dune::base_array_unmanaged< B, A >.
typedef A::difference_type Dune::base_array< B, A >::difference_type |
The type used for the difference between two iterator positions.
typedef base_array_unmanaged<B,A>::iterator Dune::base_array< B, A >::iterator |
make iterators available as types
Reimplemented from Dune::base_array_unmanaged< B, A >.
typedef B Dune::base_array< B, A >::member_type |
export the type representing the components
Reimplemented from Dune::base_array_unmanaged< B, A >.
typedef base_array_unmanaged<B,A>::size_type Dune::base_array< B, A >::size_type |
The type used for the index access.
Reimplemented from Dune::base_array_unmanaged< B, A >.
Dune::base_array< B, A >::base_array | ( | ) | [inline] |
makes empty array
Dune::base_array< B, A >::base_array | ( | size_type | _n | ) | [inline] |
make array with _n components
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
Dune::base_array< B, A >::base_array | ( | const base_array< B, A > & | a | ) | [inline] |
copy constructor
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
Dune::base_array< B, A >::base_array | ( | const base_array_unmanaged< B, A > & | _a | ) | [inline] |
construct from base class object
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
Dune::base_array< B, A >::~base_array | ( | ) | [inline] |
free dynamic memory
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
const_iterator Dune::base_array_unmanaged< B, A >::begin | ( | ) | const [inline, inherited] |
begin const_iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
iterator Dune::base_array_unmanaged< B, A >::begin | ( | ) | [inline, inherited] |
begin iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
Referenced by Dune::Matrix< T, A >::begin(), test_basearray(), and test_IO().
const_iterator Dune::base_array_unmanaged< B, A >::end | ( | ) | const [inline, inherited] |
end const_iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
iterator Dune::base_array_unmanaged< B, A >::end | ( | ) | [inline, inherited] |
end iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
Referenced by Dune::Matrix< T, A >::end(), test_basearray(), and test_IO().
const_iterator Dune::base_array_unmanaged< B, A >::find | ( | size_type | i | ) | const [inline, inherited] |
random access returning iterator (end if not contained)
iterator Dune::base_array_unmanaged< B, A >::find | ( | size_type | i | ) | [inline, inherited] |
random access returning iterator (end if not contained)
base_array& Dune::base_array< B, A >::operator= | ( | const base_array_unmanaged< B, A > & | a | ) | [inline] |
assign from base class object
References Dune::base_array< B, A >::operator=().
base_array& Dune::base_array< B, A >::operator= | ( | const base_array< B, A > & | a | ) | [inline] |
assignment
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
Referenced by Dune::base_array< B, A >::operator=().
const B& Dune::base_array_unmanaged< B, A >::operator[] | ( | size_type | i | ) | const [inline, inherited] |
same for read only access
B& Dune::base_array_unmanaged< B, A >::operator[] | ( | size_type | i | ) | [inline, inherited] |
random access to blocks
const_iterator Dune::base_array_unmanaged< B, A >::rbegin | ( | ) | const [inline, inherited] |
begin reverse const_iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
iterator Dune::base_array_unmanaged< B, A >::rbegin | ( | ) | [inline, inherited] |
begin reverse iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
Referenced by Dune::Matrix< T, A >::rbegin().
const_iterator Dune::base_array_unmanaged< B, A >::rend | ( | ) | const [inline, inherited] |
end reverse const_iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
iterator Dune::base_array_unmanaged< B, A >::rend | ( | ) | [inline, inherited] |
end reverse iterator
Reimplemented in Dune::VariableBlockVector< B, A >.
Referenced by Dune::Matrix< T, A >::rend().
void Dune::base_array< B, A >::resize | ( | size_type | _n | ) | [inline] |
reallocate array to given size, any data is lost
References Dune::base_array_unmanaged< B, A >::n, and Dune::base_array_unmanaged< B, A >::p.
size_type Dune::base_array_unmanaged< B, A >::size | ( | ) | const [inline, inherited] |
number of blocks in the array (are of size 1 here)
Referenced by Dune::Matrix< T, A >::coldim(), Dune::Matrix< T, A >::mv(), Dune::Matrix< T, A >::N(), Dune::Amg::MatrixHierarchy< M, PI, A >::MatrixStats< Matrix, true >::calc::operator()(), Dune::Matrix< T, A >::operator*=(), Dune::Matrix< T, A >::operator+=(), Dune::Matrix< T, A >::operator-=(), Dune::Matrix< T, A >::operator/=(), Dune::Matrix< T, A >::operator=(), Dune::Matrix< T, A >::rowdim(), Dune::Matrix< T, A >::umv(), and Dune::Matrix< T, A >::usmv().
size_type Dune::base_array_unmanaged< B, A >::n [protected, inherited] |
Referenced by Dune::base_array_window< B, A >::advance(), Dune::block_vector_unmanaged< row_type, allocator_type >::axpy(), Dune::base_array< B, A >::base_array(), Dune::BlockVector< row_type, allocator_type >::BlockVector(), Dune::BlockVectorWindow< B, A >::BlockVectorWindow(), Dune::block_vector_unmanaged< row_type, allocator_type >::dim(), Dune::base_array_unmanaged< row_type, allocator_type >::end(), Dune::base_array_unmanaged< row_type, allocator_type >::find(), Dune::BlockVectorWindow< B, A >::getsize(), Dune::block_vector_unmanaged< row_type, allocator_type >::infinity_norm(), Dune::block_vector_unmanaged< row_type, allocator_type >::infinity_norm_real(), Dune::base_array_window< B, A >::move(), Dune::block_vector_unmanaged< row_type, allocator_type >::N(), Dune::block_vector_unmanaged< row_type, allocator_type >::one_norm(), Dune::block_vector_unmanaged< row_type, allocator_type >::one_norm_real(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator*(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator*=(), Dune::VariableBlockVector< B, A >::CreateIterator::operator++(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator+=(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator-=(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator/=(), Dune::VariableBlockVector< B, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::BlockVector< row_type, allocator_type >::operator=(), Dune::block_vector_unmanaged< row_type, allocator_type >::operator=(), Dune::base_array< B, A >::operator=(), Dune::base_array_unmanaged< row_type, allocator_type >::operator[](), Dune::base_array_unmanaged< row_type, allocator_type >::rbegin(), Dune::VariableBlockVector< B, A >::resize(), Dune::BlockVector< row_type, allocator_type >::resize(), Dune::base_array< B, A >::resize(), Dune::BlockVectorWindow< B, A >::set(), Dune::base_array_window< B, A >::set(), Dune::BlockVectorWindow< B, A >::setsize(), Dune::base_array_unmanaged< row_type, allocator_type >::size(), Dune::block_vector_unmanaged< row_type, allocator_type >::two_norm(), Dune::block_vector_unmanaged< row_type, allocator_type >::two_norm2(), Dune::VariableBlockVector< B, A >::VariableBlockVector(), Dune::base_array< B, A >::~base_array(), and Dune::VariableBlockVector< B, A >::~VariableBlockVector().
B* Dune::base_array_unmanaged< B, A >::p [protected, inherited] |
Referenced by Dune::base_array_window< B, A >::advance(), Dune::base_array< B, A >::base_array(), Dune::base_array_unmanaged< row_type, allocator_type >::begin(), Dune::BlockVector< row_type, allocator_type >::BlockVector(), Dune::BlockVectorWindow< B, A >::BlockVectorWindow(), Dune::base_array_unmanaged< row_type, allocator_type >::end(), Dune::base_array_unmanaged< row_type, allocator_type >::find(), Dune::BlockVectorWindow< B, A >::getptr(), Dune::base_array_window< B, A >::getptr(), Dune::base_array_window< B, A >::move(), Dune::VariableBlockVector< B, A >::CreateIterator::operator++(), Dune::VariableBlockVector< B, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::BlockVector< row_type, allocator_type >::operator=(), Dune::base_array< B, A >::operator=(), Dune::base_array_unmanaged< row_type, allocator_type >::operator[](), Dune::base_array_unmanaged< row_type, allocator_type >::rbegin(), Dune::base_array_unmanaged< row_type, allocator_type >::rend(), Dune::BlockVector< row_type, allocator_type >::reserve(), Dune::VariableBlockVector< B, A >::resize(), Dune::base_array< B, A >::resize(), Dune::BlockVectorWindow< B, A >::set(), Dune::base_array_window< B, A >::set(), Dune::BlockVectorWindow< B, A >::setptr(), Dune::VariableBlockVector< B, A >::VariableBlockVector(), Dune::base_array< B, A >::~base_array(), Dune::BlockVector< row_type, allocator_type >::~BlockVector(), and Dune::VariableBlockVector< B, A >::~VariableBlockVector().