48#include <lal/linear_arrangement.hpp>
49#include <lal/graphs/rooted_tree.hpp>
65template <
class container>
68 const container& data,
74 const uint64_t d_out = T.get_out_degree(r);
81 const auto& interval = data[r];
82 for (std::size_t i = 0; i < interval.size(); ++i) {
83 const node vi = interval[i];
85 arr.assign(vi, pos++);
100template <
class container>
103 const container& data
126template <
class container>
130 const container& data,
136 const uint64_t d_out = T.get_degree(u) - (u == parent ? 0 : 1);
140 arr.assign(u, pos++);
143 const auto& interval = data[u];
144 for (std::size_t i = 0; i < interval.size(); ++i) {
145 const node vi = interval[i];
147 arr.assign(vi, pos++);
163template <
class container>
166 const container& data
Free tree graph class.
Definition: free_tree.hpp:60
Rooted tree graph class.
Definition: rooted_tree.hpp:103
Linear arrangement of vertices.
Definition: linear_arrangement.hpp:103
void make_arrangement_permutations(const graphs::rooted_tree &T, node r, const container &data, position &pos, linear_arrangement &arr) noexcept
Make an arrangement using permutations.
Definition: make_arrangement.hpp:66
Main namespace of the library.
Definition: basic_types.hpp:50
uint64_t position
Node's position type.
Definition: basic_types.hpp:55
uint64_t node
Node type. See Node / Vertex page for further details.
Definition: basic_types.hpp:53