49#include <lal/graphs/graph.hpp>
Exhaustive enumeration of arrangements of any graph.
Definition all_arrangements.hpp:108
const linear_arrangement & get_arrangement() const noexcept
Returns the current linear arrangemnt.
Definition all_arrangements.hpp:137
all_arrangements(uint32_t n) noexcept
Constructor with number of vertices.
Definition all_arrangements.hpp:122
bool m_reached_end
Has the end of the iteration been reached?
Definition all_arrangements.hpp:182
void next() noexcept
Generates the next arrangement.
Definition all_arrangements.hpp:148
linear_arrangement m_arr
The arrangement generated by this class.
Definition all_arrangements.hpp:180
all_arrangements(const lal::graphs::graph &g) noexcept
Constructor with graph.
Definition all_arrangements.hpp:114
const uint32_t m_n
Number of vertices.
Definition all_arrangements.hpp:174
void reset() noexcept
Sets the generator to its initial state.
Definition all_arrangements.hpp:153
linear_arrangement yield_arrangement() noexcept
Returns the current arrangement and advances the generator.
Definition all_arrangements.hpp:165
bool end() const noexcept
Returns true if the end of the iteration was reached.
Definition all_arrangements.hpp:140
Abstract class for graphs.
Definition graph.hpp:69
Main namespace of the library.
Definition definitions.hpp:48
std::vector< position > linear_arrangement
A linear arrangement of the nodes of a graph.
Definition definitions.hpp:72