45#include <lal/linear_arrangement.hpp>
46#include <lal/graphs/rooted_tree.hpp>
62template <
class container>
66 const container& data,
73 const uint64_t d_out = T.get_out_degree(r);
80 const auto& interval = data[r];
81 for (std::size_t i = 0; i < interval.size(); ++i) {
82 const node vi = interval[i];
84 arr.assign(vi, pos++);
99template <
class container>
123template <
class container>
127 const container& data,
133 const uint64_t d_out = T.get_degree(u) - (u == parent ? 0 : 1);
140 const auto& interval = data[u];
141 for (std::size_t i = 0; i < interval.size(); ++i) {
142 const node vi = interval[i];
144 arr.assign(vi, pos++);
160template <
class container>
Free tree graph class.
Definition free_tree.hpp:60
Rooted tree graph class.
Definition rooted_tree.hpp:109
Linear arrangement of vertices.
Definition linear_arrangement.hpp:103
void assign(const NODE u, const POSITION p) noexcept
Assigns a node u to position p.
Definition linear_arrangement.hpp:379
void make_arrangement_permutations(const graphs::rooted_tree &T, const node r, const container &data, position &pos, linear_arrangement &arr) noexcept
Make an arrangement using permutations.
Definition make_arrangement.hpp:63
Main namespace of the library.
Definition basic_types.hpp:48
uint64_t position
Node's position type.
Definition basic_types.hpp:53
uint64_t node
Node type. See Node / Vertex page for further details.
Definition basic_types.hpp:51