dune-istl  2.2.1
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Dune::base_array_unmanaged< B, A > Class Template Reference

A simple array container for objects of type B. More...

#include <dune/istl/basearray.hh>

Inheritance diagram for Dune::base_array_unmanaged< B, A >:
Dune::block_vector_unmanaged< FieldVector< T, n >, A > Dune::block_vector_unmanaged< T, A > Dune::base_array< B, A > Dune::base_array_window< B, A > Dune::block_vector_unmanaged< B, A > Dune::BlockVector< FieldVector< T, n >, A > Dune::BlockVector< B, A > Dune::BlockVectorWindow< B, A > Dune::VariableBlockVector< B, A > Dune::VariableBlockVector< T, A >

Classes

class  RealIterator
 Iterator implementation class. More...
 

Public Types

typedef B member_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 RealIterator< B > iterator
 iterator type for sequential access More...
 
typedef RealIterator< const B > const_iterator
 iterator class for sequential access More...
 

Public Member Functions

B & operator[] (size_type i)
 random access to blocks More...
 
const B & operator[] (size_type i) const
 same for read only access More...
 
iterator begin ()
 begin iterator More...
 
iterator end ()
 end iterator More...
 
iterator beforeEnd ()
 
iterator beforeBegin ()
 
iterator find (size_type i)
 random access returning iterator (end if not contained) More...
 
const_iterator begin () const
 begin const_iterator More...
 
const_iterator end () const
 end const_iterator More...
 
const_iterator beforeEnd () const
 
const_iterator beforeBegin () const
 
const_iterator find (size_type i) const
 random access returning iterator (end if not contained) More...
 
size_type size () const
 number of blocks in the array (are of size 1 here) More...
 

Protected Member Functions

 base_array_unmanaged ()
 makes empty array More...
 
 base_array_unmanaged (size_type n_, B *p_)
 make an initialized array More...
 

Protected Attributes

size_type n
 
B * p
 

Detailed Description

template<class B, class A = std::allocator<B>>
class Dune::base_array_unmanaged< B, A >

A simple array container for objects of type B.

Implement.

 -  iterator access 
 -  const_iterator access
 -  random access

 This container has *NO* memory management at all,
 copy constuctor, assignment and destructor are all default.

 The constructor is made protected to emphasize that objects
 are only usable in derived classes.

 Error checking: no error checking is provided normally.
 Setting the compile time switch DUNE_ISTL_WITH_CHECKING
 enables error checking.

Member Typedef Documentation

template<class B, class A = std::allocator<B>>
typedef A Dune::base_array_unmanaged< B, A >::allocator_type

export the allocator type

template<class B, class A = std::allocator<B>>
typedef RealIterator<const B> Dune::base_array_unmanaged< B, A >::const_iterator

iterator class for sequential access

template<class B, class A = std::allocator<B>>
typedef RealIterator<B> Dune::base_array_unmanaged< B, A >::iterator

iterator type for sequential access

template<class B, class A = std::allocator<B>>
typedef B Dune::base_array_unmanaged< B, A >::member_type

export the type representing the components

template<class B, class A = std::allocator<B>>
typedef A::size_type Dune::base_array_unmanaged< B, A >::size_type

the type for the index access

Constructor & Destructor Documentation

template<class B, class A = std::allocator<B>>
Dune::base_array_unmanaged< B, A >::base_array_unmanaged ( )
inlineprotected

makes empty array

template<class B, class A = std::allocator<B>>
Dune::base_array_unmanaged< B, A >::base_array_unmanaged ( size_type  n_,
B *  p_ 
)
inlineprotected

make an initialized array

Member Function Documentation

template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::beforeBegin ( )
inline
Returns
an iterator that is positioned before the first entry of the vector.
template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::beforeBegin ( ) const
inline
Returns
an iterator that is positioned before the first entry of the vector.
template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::beforeEnd ( )
inline
Returns
an iterator that is positioned before the end iterator of the vector, i.e. at the last entry.
template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::beforeEnd ( ) const
inline
Returns
an iterator that is positioned before the end iterator of the vector. i.e. at the last element.
template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::begin ( )
inline

begin iterator

Referenced by test_basearray(), and test_IO().

template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::begin ( ) const
inline

begin const_iterator

template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::end ( )
inline

end iterator

Referenced by test_basearray(), and test_IO().

template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::end ( ) const
inline

end const_iterator

template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::find ( size_type  i)
inline

random access returning iterator (end if not contained)

template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::find ( size_type  i) const
inline

random access returning iterator (end if not contained)

template<class B, class A = std::allocator<B>>
B& Dune::base_array_unmanaged< B, A >::operator[] ( size_type  i)
inline

random access to blocks

template<class B, class A = std::allocator<B>>
const B& Dune::base_array_unmanaged< B, A >::operator[] ( size_type  i) const
inline

same for read only access

template<class B, class A = std::allocator<B>>
size_type Dune::base_array_unmanaged< B, A >::size ( ) const
inline

number of blocks in the array (are of size 1 here)

Referenced by Dune::Matrix< T, A >::coldim(), and Dune::BlockVector< FieldVector< T, n >, A >::resize().

Member Data Documentation

template<class B, class A = std::allocator<B>>
size_type Dune::base_array_unmanaged< B, A >::n
protected

Referenced by Dune::base_array_window< B, A >::advance(), Dune::block_vector_unmanaged< T, A >::axpy(), Dune::base_array< B, A >::base_array(), Dune::base_array_unmanaged< T, A >::beforeEnd(), Dune::BlockVector< FieldVector< T, n >, A >::BlockVector(), Dune::BlockVectorWindow< B, A >::BlockVectorWindow(), Dune::block_vector_unmanaged< T, A >::dim(), Dune::base_array_unmanaged< T, A >::end(), Dune::base_array_unmanaged< T, A >::find(), Dune::BlockVectorWindow< B, A >::getsize(), Dune::block_vector_unmanaged< T, A >::infinity_norm(), Dune::block_vector_unmanaged< T, A >::infinity_norm_real(), Dune::base_array_window< B, A >::move(), Dune::block_vector_unmanaged< T, A >::N(), Dune::block_vector_unmanaged< T, A >::one_norm(), Dune::block_vector_unmanaged< T, A >::one_norm_real(), Dune::block_vector_unmanaged< T, A >::operator*(), Dune::block_vector_unmanaged< T, A >::operator*=(), Dune::VariableBlockVector< B, A >::CreateIterator::operator++(), Dune::block_vector_unmanaged< T, A >::operator+=(), Dune::block_vector_unmanaged< T, A >::operator-=(), Dune::block_vector_unmanaged< T, A >::operator/=(), Dune::block_vector_unmanaged< T, A >::operator=(), Dune::VariableBlockVector< T, A >::operator=(), Dune::BlockVector< FieldVector< T, n >, A >::operator=(), Dune::base_array< B, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::base_array_unmanaged< T, A >::operator[](), Dune::VariableBlockVector< T, A >::resize(), Dune::BlockVector< FieldVector< T, n >, A >::resize(), Dune::base_array< B, A >::resize(), Dune::base_array_window< B, A >::set(), Dune::BlockVectorWindow< B, A >::set(), Dune::BlockVectorWindow< B, A >::setsize(), Dune::base_array_unmanaged< T, A >::size(), Dune::block_vector_unmanaged< T, A >::two_norm(), Dune::block_vector_unmanaged< T, A >::two_norm2(), Dune::VariableBlockVector< T, A >::VariableBlockVector(), Dune::base_array< B, A >::~base_array(), and Dune::VariableBlockVector< T, A >::~VariableBlockVector().

template<class B, class A = std::allocator<B>>
B* Dune::base_array_unmanaged< B, A >::p
protected

The documentation for this class was generated from the following file: