1 #ifndef DUNE_FEM_QUADRATURE_CACHING_REGISTRY_HH
2 #define DUNE_FEM_QUADRATURE_CACHING_REGISTRY_HH
10 #include <dune/geometry/type.hh>
33 virtual void cacheQuadrature ( std::size_t
id, std::size_t codim, std::size_t quadSize ) = 0;
34 virtual GeometryType
type ()
const = 0;
73 const GeometryType type = storage.
type();
77 if( type == it->type )
85 const StorageListType::iterator pos
91 template<
class Quadrature >
97 template<
class Quadrature >
99 const GeometryType &type, std::size_t codim )
102 QuadratureInfo quadInfo = { quadrature.
id(), codim, std::size_t( quadrature.
nop() ), type };
108 if( (*it)->type() == type )
109 (*it)->cacheQuadrature( quadInfo.
id, quadInfo.
codim, quadInfo.
size );
Definition: bindguard.hh:11
static bool singleThreadMode()
returns true if program is operating on one thread currently
Definition: threadmanager.hh:74
Definition: registry.hh:26
static StorageListType & storageList()
Definition: registry.hh:50
static void initialize()
initialize static variables
Definition: registry.hh:62
static void unregisterStorage(StorageInterface &storage)
Definition: registry.hh:82
static QuadratureInfoListType & quadratureInfoList()
Definition: registry.hh:55
std::list< QuadratureInfo > QuadratureInfoListType
Definition: registry.hh:48
static void registerQuadrature(const Quadrature &quadrature, const GeometryType &type, std::size_t codim)
Definition: registry.hh:98
static void registerStorage(StorageInterface &storage)
Definition: registry.hh:68
static void registerQuadrature(const Quadrature &quadrature)
Definition: registry.hh:92
std::list< StorageInterface * > StorageListType
Definition: registry.hh:38
Definition: registry.hh:31
virtual ~StorageInterface()
Definition: registry.hh:32
virtual void cacheQuadrature(std::size_t id, std::size_t codim, std::size_t quadSize)=0
virtual GeometryType type() const =0
Definition: registry.hh:41
std::size_t codim
Definition: registry.hh:43
GeometryType type
Definition: registry.hh:45
std::size_t id
Definition: registry.hh:42
std::size_t size
Definition: registry.hh:44
int nop() const
obtain the number of integration points
Definition: quadrature.hh:295
GeometryType geometryType() const
obtain GeometryType for this integration point list
Definition: quadrature.hh:362
size_t id() const
obtain the identifier of the integration point list
Definition: quadrature.hh:327
actual interface class for quadratures
Definition: quadrature.hh:405
@ codimension
Definition: quadrature.hh:435
static Object & instance(Args &&... args)
return singleton instance of given Object type.
Definition: singleton.hh:101