1#ifndef DUNE_FEM_SPACE_LAGRANGE_STORAGE_HH
2#define DUNE_FEM_SPACE_LAGRANGE_STORAGE_HH
5#include "dofmappercode.hh"
17 template<
class Gr
idPart,
class LagrangePo
intSetContainer >
18 class LagrangeMapperSingletonKey
20 typedef LagrangeMapperSingletonKey< GridPart, LagrangePointSetContainer > ThisType;
23 typedef GridPart GridPartType;
24 typedef LagrangePointSetContainer LagrangePointSetContainerType;
26 LagrangeMapperSingletonKey (
const GridPartType &gridPart,
27 const LagrangePointSetContainerType &pointSet,
29 : gridPart_( gridPart ),
30 pointSet_( pointSet ),
35 bool operator== (
const ThisType &other )
const
37 return ((&indexSet() == &other.indexSet()) && (polOrd_ == other.polOrd_));
40 bool operator!= (
const ThisType &other )
const
42 return !( *
this == other );
45 const GridPartType &gridPart ()
const
52 return gridPart().indexSet();
55 const LagrangePointSetContainerType &pointSet ()
const {
60 const GridPartType &gridPart_;
61 const LagrangePointSetContainerType &pointSet_;
70 template<
class Key,
class Object >
71 struct LagrangeMapperSingletonFactory
73 typedef typename Key::LagrangePointSetContainerType LagrangePointSetContainerType;
75 static Object *createObject (
const Key &key )
77 LagrangeDofMapperCodeFactory< LagrangePointSetContainerType > codeFactory( key.pointSet() );
78 return new Object( key.gridPart(), codeFactory );
81 static void deleteObject ( Object *obj )
consecutive, persistent index set for the leaf level based on the grid's hierarchy index set
Definition: adaptiveleafindexset.hh:1351
EnableIfInterOperable< T1, T2, bool >::type operator==(const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
Checks for equality.
Definition: iteratorfacades.hh:238
EnableIfInterOperable< T1, T2, bool >::type operator!=(const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
Checks for inequality.
Definition: iteratorfacades.hh:260
Dune namespace.
Definition: alignedallocator.hh:13