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 >:
Inheritance graph

List of all members.

Classes

class  RealIterator
 Iterator implementation class. More...

Public Types

typedef B member_type
 export the type representing the components
typedef A allocator_type
 export the allocator type
typedef A::size_type size_type
 the type for the index access
typedef RealIterator< B > iterator
 iterator type for sequential access
typedef RealIterator< const B > const_iterator
 iterator class for sequential access

Public Member Functions

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
iterator end ()
 end iterator
iterator rbegin ()
iterator beforeEnd ()
iterator rend ()
iterator beforeBegin ()
iterator find (size_type i)
 random access returning iterator (end if not contained)
const_iterator begin () const
 begin const_iterator
const_iterator end () const
 end const_iterator
const_iterator rbegin () const
const_iterator beforeEnd () const
const_iterator rend () const
const_iterator beforeBegin () const
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 Member Functions

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

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 usably 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 RealIterator<const B> Dune::base_array_unmanaged< B, A >::const_iterator

iterator class for sequential access

Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.

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

iterator type for sequential access

Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.

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

export the type representing the components

Reimplemented in Dune::base_array_window< B, A >, and Dune::base_array< B, A >.


Constructor & Destructor Documentation

template<class B, class A = std::allocator<B>>
Dune::base_array_unmanaged< B, A >::base_array_unmanaged (  )  [inline, protected]

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_ 
) [inline, protected]

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.

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

Referenced by Dune::base_array_unmanaged< T, A >::rend().

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.

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

Referenced by Dune::base_array_unmanaged< T, A >::rbegin().

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.

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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

begin const_iterator

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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

begin iterator

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

Referenced by test_basearray(), and test_IO().

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

end iterator

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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)

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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)

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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

random access to blocks

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::rbegin (  )  [inline]
Deprecated:
This method was renamed to make it distinct from the STL version which returns a reverse iterator. Use the new method beforeEnd instead.
Deprecated:

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::rbegin (  )  const [inline]
Deprecated:
This method was renamed to make it distinct from the STL version which returns a reverse iterator. Use the new method beforeEnd instead.
Deprecated:

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

template<class B, class A = std::allocator<B>>
const_iterator Dune::base_array_unmanaged< B, A >::rend (  )  const [inline]
Deprecated:
This method was renamed to make it distinct from the STL version which returns a reverse iterator. Use the new method beforeBegin instead.
Deprecated:

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

template<class B, class A = std::allocator<B>>
iterator Dune::base_array_unmanaged< B, A >::rend (  )  [inline]
Deprecated:
This method was renamed to make it distinct from the STL version which returns a reverse iterator. Use the new method beforeBegin instead.
Deprecated:

Reimplemented in Dune::VariableBlockVector< B, A >, and Dune::VariableBlockVector< T, A >.

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().


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::VariableBlockVector< T, A >::operator=(), Dune::BlockVectorWindow< B, A >::operator=(), Dune::BlockVector< FieldVector< T, n >, A >::operator=(), Dune::block_vector_unmanaged< T, A >::operator=(), Dune::base_array< 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::BlockVectorWindow< B, A >::set(), Dune::base_array_window< 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().


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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].