9#include <kernel/adjacency/dynamic_graph.hpp>
10#include <kernel/adjacency/graph.hpp>
11#include <kernel/adjacency/permutation.hpp>
12#include <kernel/util/string.hpp>
69 _patches(std::forward<Adjacency::Graph>(graph_))
93 _patches(Adjacency::RenderType::as_is, graph_)
201 virtual ~PartitionSet()
210 std::deque<Partition>& get_partitions()
215 const std::deque<Partition>& get_partitions()
const
220 void add_partition(Partition&& part)
222 _parts.emplace_back(std::forward<Partition>(part));
245 std::deque<String> names;
247 names.push_back(name);
259 if(
int(it->size()) != size)
266 for(
const auto& name : names)
268 match = match || (name == it->get_name());
275 if((it->get_priority() <= 0) || (it->get_priority() < prio))
280 if((part !=
nullptr) && (part->get_priority() > it->get_priority()))
Dynamic Adjacency Graph implementation.
Adjacency Graph implementation.
void permute_indices(const Adjacency::Permutation &inv_perm)
Permutes the image indices.
Partition & operator=(Partition &&other)
move-assign operator
int _prio
the priority for automatic choice
Adjacency::Graph _patches
our actual partitioning
int _level
the level that this partitioning refers to
Index get_num_patches() const
Partition(Partition &&other)
move constructor
Partition()
default construcotr
Partition(const Adjacency::DynamicGraph &graph_, const String &name_, int prio_=0, int level_=0)
Constructor.
void permute(const Adjacency::Permutation &inv_perm)
Permutes the element indices.
virtual ~Partition()
destructor
Index get_num_elements() const
String _name
the name of this partitioning
Partition(Adjacency::Graph &&graph_, const String &name_, int prio_=0, int level_=0)
Constructor.
const Adjacency::Graph & get_patches() const
std::deque< Partition > _parts
the actual partitions in the set
const Partition * find_partition(int size, const String &name="", int prio=0) const
Tries to find a suitable partition in the set.
String class implementation.
@ other
generic/other permutation strategy
std::uint64_t Index
Index data type.