dune-grid  2.2.0
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
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 > >

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_

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
protectedinherited
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
protectedinherited
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
protectedinherited
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)
inlineprotectedinherited
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 ( )
inlineinherited

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
inlineinherited

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

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

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
inlineinherited

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 
)
inlineinherited

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
inlineinherited

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)
inlineinherited

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
inlineinherited

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

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
inlineinherited

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

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)
inlineprotectedinherited

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_
protectedinherited
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_
mutableprotectedinherited
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_
protectedinherited
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_
protectedinherited

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