3 #ifndef DUNE_AMG_GRAPHCREATOR_HH
4 #define DUNE_AMG_GRAPHCREATOR_HH
11 #include <dune/common/tuples.hh>
12 #include <dune/common/unused.hh>
18 template<
class M,
int cat=M::category>
25 typedef typename M::matrix_type
Matrix;
35 typedef Dune::tuple<MatrixGraph*,PropertiesGraph*>
GraphTuple;
37 template<
class OF,
class T>
42 DUNE_UNUSED_PARAMETER(excluded);
43 DUNE_UNUSED_PARAMETER(pinfo);
51 delete get<1>(graphs);
59 typedef typename M::matrix_type
Matrix;
70 typedef Dune::tuple<MatrixGraph*,PropertiesGraph*,SubGraph*>
GraphTuple;
72 template<
class OF,
class T,
class PI>
74 PI& pinfo,
const OF& of)
77 typedef typename PI::ParallelIndexSet ParallelIndexSet;
78 typedef typename ParallelIndexSet::const_iterator IndexIterator;
79 IndexIterator iend = pinfo.indexSet().
end();
81 for(IndexIterator
index = pinfo.indexSet().begin();
index != iend; ++
index)
82 excluded[
index->local()] = of.contains(
index->local().attribute());
91 delete get<2>(graphs);
92 delete get<1>(graphs);
99 typedef typename M::matrix_type
Matrix;
110 typedef Dune::tuple<MatrixGraph*,PropertiesGraph*,SubGraph*>
GraphTuple;
112 template<
class OF,
class T,
class PI>
114 PI& pinfo,
const OF& of)
117 typedef typename PI::ParallelIndexSet ParallelIndexSet;
118 typedef typename ParallelIndexSet::const_iterator IndexIterator;
119 IndexIterator iend = pinfo.indexSet().
end();
121 for(IndexIterator
index = pinfo.indexSet().begin();
index != iend; ++
index)
122 excluded[
index->local()] = of.contains(
index->local().attribute());
131 delete get<2>(graphs);
132 delete get<1>(graphs);