4#ifndef DUNE_PDELAB_ORDERING_SINGLECODIMLEAFORDERING_HH
5#define DUNE_PDELAB_ORDERING_SINGLECODIMLEAFORDERING_HH
7#include <dune/typetree/leafnode.hh>
9#include <dune/pdelab/ordering/utility.hh>
10#include <dune/pdelab/gridfunctionspace/tags.hh>
18 template<
typename GV,
typename DI,
typename CI>
19 class SingleCodimLeafOrdering
20 :
public TypeTree::LeafNode
25 typedef FlatContainerAllocationTag ContainerAllocationTag;
27 typedef SimpleLFSCacheTag CacheTag;
30 typedef SimpleOrderingTraits<DI,CI> Traits;
32 typename Traits::ContainerIndex mapIndex(
const typename Traits::DOFIndex& di)
const
37 void mapIndex(
typename Traits::DOFIndex di,
typename Traits::ContainerIndex& ci)
const
42 typename Traits::SizeType
size()
const
47 typename Traits::SizeType blockCount()
const
52 typename Traits::SizeType maxLocalSize()
const
61 SingleCodimLeafOrdering(
const GV& gv)
66 bool container_blocked()
const
71 typename Traits::SizeType
size(
typename Traits::ContainerIndex suffix)
const
73 assert(suffix.size() == 0);
84 template<
typename GFS,
typename Transformation>
85 struct leaf_gfs_to_ordering_descriptor<GFS,Transformation,SingleCodimMapper>
88 static const bool recursive =
false;
90 typedef SingleCodimLeafOrdering<
91 typename GFS::Traits::GridView,
92 SimpleDOFIndex<typename GFS::Traits::SizeType>,
93 SimpleContainerIndex<typename GFS::Traits::SizeType>
96 typedef std::shared_ptr<transformed_type> transformed_storage_type;
98 static transformed_type transform(
const GFS& gfs,
const Transformation& t)
100 return transformed_type(gfs.gridView());
103 static transformed_storage_type transform_storage(std::shared_ptr<const GFS> gfs,
const Transformation& t)
105 return std::make_shared<transformed_type>(gfs->gridView());
Dune namespace.
Definition: alignedallocator.hh:13
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75