dune-grid  2.2.0
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes
Dune::PersistentContainer< Grid, Data, Allocator > Class Template Reference

#include <dune/grid/utility/persistentcontainer.hh>

Inheritance diagram for Dune::PersistentContainer< Grid, Data, Allocator >:
Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet, std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >

List of all members.

Public Types

typedef Grid GridType
typedef GridType::template
Codim< 0 >::Entity 
ElementType
typedef MyIterator< iteratorIterator
typedef MyIterator
< const_iterator
ConstIterator

Public Member Functions

 PersistentContainer (const GridType &grid, const int codim, const Allocator &allocator=Allocator())
Dataoperator[] (const Entity &entity)
 random access entity with correct codimension
const Dataoperator[] (const Entity &entity) const
 random access entity with correct codimension
Dataoperator() (const ElementType &element, const int subEntity)
 access for sub entity data
const Dataoperator() (const ElementType &element, const int subEntity) const
 access for sub entity data
Iterator begin ()
 iterator begin for iterating over data actually stored in container
ConstIterator begin () const
 const iterator begin
Iterator end ()
 iterator end
ConstIterator end () const
 const iterator end
size_t size () const
 return size of allocated data
void reserve ()
 enlarge container, compress is not necessary but could be done
void clear ()
 adjust container to correct size and set all values to default
void update ()
 adjust container to correct size including compress

Protected Types

typedef Grid::Traits::LocalIdSet IdSet
typedef IdSet::IdType IdType
typedef Allocator::template
rebind< IdType >::other 
IdAllocator
typedef std::map< const IdType,
Data, std::less< const IdType >
, IdAllocator
Map
typedef PersistentContainerMap
< Grid, IdSet, Map
BaseType
typedef std::map< const
Grid::Traits::LocalIdSet::IdType,
Data, std::less< const
Grid::Traits::LocalIdSet::IdType >
, Allocator::template rebind
< Grid::Traits::LocalIdSet::IdType >
::other >::mapped_type 
Data
typedef std::map< const
Grid::Traits::LocalIdSet::IdType,
Data, std::less< const
Grid::Traits::LocalIdSet::IdType >
, Allocator::template rebind
< Grid::Traits::LocalIdSet::IdType >
::other >::iterator 
iterator
typedef std::map< const
Grid::Traits::LocalIdSet::IdType,
Data, std::less< const
Grid::Traits::LocalIdSet::IdType >
, Allocator::template rebind
< Grid::Traits::LocalIdSet::IdType >
::other >::const_iterator 
const_iterator

Protected Member Functions

void update (const Data &value)
 adjust container to correct size including compress
void adaptCodim (const Data &value)

Protected Attributes

const GridTypegrid_
const int codim_
const Grid::Traits::LocalIdSet & id_
std::map< const
Grid::Traits::LocalIdSet::IdType,
Data, std::less< const
Grid::Traits::LocalIdSet::IdType >
, Allocator::template rebind
< Grid::Traits::LocalIdSet::IdType >
::other > 
data_

template<class Grid, class Data, class Allocator>
class Dune::PersistentContainer< Grid, Data, Allocator >


Member Typedef Documentation

template<class Grid, class Data, class Allocator>
typedef PersistentContainerMap< Grid, IdSet, Map > Dune::PersistentContainer< Grid, Data, Allocator >::BaseType [protected]
typedef std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > :: const_iterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::const_iterator [protected, inherited]
typedef MyIterator< const_iterator > Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::ConstIterator [inherited]
typedef std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > :: mapped_type Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::Data [protected, inherited]
typedef GridType :: template Codim< 0 >:: Entity Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::ElementType [inherited]
template<class Grid, class Data, class Allocator>
typedef Grid Dune::PersistentContainer< Grid, Data, Allocator >::GridType
template<class Grid, class Data, class Allocator>
typedef Allocator::template rebind<IdType>::other Dune::PersistentContainer< Grid, Data, Allocator >::IdAllocator [protected]
template<class Grid, class Data, class Allocator>
typedef Grid::Traits::LocalIdSet Dune::PersistentContainer< Grid, Data, Allocator >::IdSet [protected]
template<class Grid, class Data, class Allocator>
typedef IdSet::IdType Dune::PersistentContainer< Grid, Data, Allocator >::IdType [protected]
typedef std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > :: iterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::iterator [protected, inherited]
typedef MyIterator< iterator > Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::Iterator [inherited]
template<class Grid, class Data, class Allocator>
typedef std::map<const IdType, Data, std::less<const IdType>, IdAllocator> Dune::PersistentContainer< Grid, Data, Allocator >::Map [protected]

Constructor & Destructor Documentation

template<class Grid, class Data, class Allocator>
Dune::PersistentContainer< Grid, Data, Allocator >::PersistentContainer ( const GridType grid,
const int  codim,
const Allocator &  allocator = Allocator() 
) [inline]

Constructor filling the container with values using the default constructor Depending on the implementation this could be achieved without allocating memory


Member Function Documentation

void Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::adaptCodim ( const Data value) [inline, protected, inherited]
Iterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::begin ( ) [inline, inherited]

iterator begin for iterating over data actually stored in container

ConstIterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::begin ( ) const [inline, inherited]

const iterator begin

void Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::clear ( ) [inline, inherited]

adjust container to correct size and set all values to default

Iterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::end ( ) [inline, inherited]

iterator end

ConstIterator Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::end ( ) const [inline, inherited]

const iterator end

Data& Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::operator() ( const ElementType element,
const int  subEntity 
) [inline, inherited]

access for sub entity data

const Data& Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::operator() ( const ElementType element,
const int  subEntity 
) const [inline, inherited]

access for sub entity data

Data& Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::operator[] ( const Entity entity) [inline, inherited]

random access entity with correct codimension

const Data& Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::operator[] ( const Entity entity) const [inline, inherited]

random access entity with correct codimension

void Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::reserve ( ) [inline, inherited]

enlarge container, compress is not necessary but could be done

size_t Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::size ( ) const [inline, inherited]

return size of allocated data

void Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::update ( ) [inline, inherited]

adjust container to correct size including compress

void Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::update ( const Data value) [inline, protected, inherited]

adjust container to correct size including compress


Member Data Documentation

const int Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::codim_ [protected, inherited]
std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::data_ [mutable, protected, inherited]
const GridType& Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::grid_ [protected, inherited]
const Grid::Traits::LocalIdSet & Dune::PersistentContainerMap< Grid, Grid::Traits::LocalIdSet , std::map< const Grid::Traits::LocalIdSet::IdType, Data, std::less< const Grid::Traits::LocalIdSet::IdType >, Allocator::template rebind< Grid::Traits::LocalIdSet::IdType >::other > >::id_ [protected, inherited]

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