Dune Core Modules (2.5.0)

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

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

#include <dune/istl/basearray.hh>

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

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.
    
    Todo:
    There shouldn't be an allocator argument here, because the array is 'unmanaged'. And indeed, of the allocator, only its size_type is used. Hence, the signature of this class should be changed to <class B, int stype>

This class is an implementation detail, and should not be used outside of dune-istl.

Member Function Documentation

◆ beforeBegin() [1/2]

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.

◆ beforeBegin() [2/2]

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.

◆ beforeEnd() [1/2]

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.

◆ beforeEnd() [2/2]

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.

The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)