Dune::compressed_base_array_unmanaged< B, A > Class Template Reference

A simple array container with non-consecutive index set. More...

#include <dune/istl/basearray.hh>

Inheritance diagram for Dune::compressed_base_array_unmanaged< B, A >:
Inheritance graph

List of all members.

Classes

class  RealIterator
 iterator class for sequential access 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 used for the index access.
typedef RealIterator< B > iterator
 The iterator type.
typedef RealIterator< const B > const_iterator
 const_iterator class for sequential access

Public Member Functions

B & operator[] (size_type i)
 random access to blocks, assumes ascending ordering
const B & operator[] (size_type i) const
 same for read only access, assumes ascending ordering
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

 compressed_base_array_unmanaged ()
 makes empty array

Protected Attributes

size_type n
B * p
size_typej

Detailed Description

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

A simple array container with non-consecutive index set.

Elements in the array are of type B. This class provides

  • iterator access
  • const_iterator access
  • random access in log(n) steps using binary search
    • find returning iterator

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 A Dune::compressed_base_array_unmanaged< B, A >::allocator_type
template<class B , class A = std::allocator<B>>
typedef RealIterator<const B> Dune::compressed_base_array_unmanaged< B, A >::const_iterator

const_iterator class for sequential access

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

The iterator type.

template<class B , class A = std::allocator<B>>
typedef B Dune::compressed_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::compressed_base_array_unmanaged< B, A >::size_type

The type used for the index access.

Reimplemented in Dune::compressed_block_vector_unmanaged< B, A >, and Dune::CompressedBlockVectorWindow< B, A >.


Constructor & Destructor Documentation

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

makes empty array


Member Function Documentation

template<class B , class A = std::allocator<B>>
iterator Dune::compressed_base_array_unmanaged< B, A >::beforeBegin (  )  [inline]
Returns:
an iterator that is positioned before the first entry of the vector.

References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.

Referenced by Dune::compressed_base_array_unmanaged< B, A >::rend().

template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_base_array_unmanaged< B, A >::beforeBegin (  )  const [inline]
Returns:
an iterator that is positioned before the first entry of the vector.

References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.

template<class B , class A = std::allocator<B>>
iterator Dune::compressed_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.

References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.

Referenced by Dune::compressed_base_array_unmanaged< B, A >::rbegin().

template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_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.

References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.

template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_base_array_unmanaged< B, A >::begin (  )  const [inline]
template<class B , class A = std::allocator<B>>
iterator Dune::compressed_base_array_unmanaged< B, A >::begin (  )  [inline]
template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_base_array_unmanaged< B, A >::find ( size_type  i  )  const [inline]
template<class B , class A = std::allocator<B>>
iterator Dune::compressed_base_array_unmanaged< B, A >::find ( size_type  i  )  [inline]
template<class B , class A = std::allocator<B>>
const B& Dune::compressed_base_array_unmanaged< B, A >::operator[] ( size_type  i  )  const [inline]
template<class B , class A = std::allocator<B>>
B& Dune::compressed_base_array_unmanaged< B, A >::operator[] ( size_type  i  )  [inline]
template<class B , class A = std::allocator<B>>
iterator Dune::compressed_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:

References Dune::compressed_base_array_unmanaged< B, A >::beforeEnd().

template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_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:

References Dune::compressed_base_array_unmanaged< B, A >::beforeEnd().

template<class B , class A = std::allocator<B>>
const_iterator Dune::compressed_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:

References Dune::compressed_base_array_unmanaged< B, A >::beforeBegin().

template<class B , class A = std::allocator<B>>
iterator Dune::compressed_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:

References Dune::compressed_base_array_unmanaged< B, A >::beforeBegin().

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

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

References Dune::compressed_base_array_unmanaged< B, A >::n.


Member Data Documentation


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].