48#include <lal/linear_arrangement.hpp>
71template <linarr_type type>
79 assert(arr.size() == 0);
82 assert(arr.size() != 0);
94 template <
typename param_t>
97 std::is_same_v<param_t,lal::node_t> or
98 std::is_same_v<param_t,lal::position_t>
Linear arrangement of vertices.
Definition: linear_arrangement.hpp:103
linarr_wrapper< linarr_type::identity > identity_arr(const linear_arrangement &arr) noexcept
Shorthand for an identity arrangement.
Definition: identity_arrangement.hpp:114
linarr_wrapper< linarr_type::nonident > nonident_arr(const linear_arrangement &arr) noexcept
Shorthand for a nonidentity arrangement.
Definition: identity_arrangement.hpp:121
linarr_type
Type of arrangement.
Definition: identity_arrangement.hpp:58
@ nonident
Non-identity arrangement. An arrangement that is not the identity.
@ identity
Identity arrangement. .
Main namespace of the library.
Definition: basic_types.hpp:50
A wrapper to easily use identity arrangements.
Definition: identity_arrangement.hpp:72
linarr_wrapper(const lal::linear_arrangement &arr) noexcept
Constructor with arrangement.
Definition: identity_arrangement.hpp:74
const lal::linear_arrangement & m_arr
Constant reference to actual arrangement.
Definition: identity_arrangement.hpp:110
uint64_t operator[](const param_t &p) const noexcept
Access operator.
Definition: identity_arrangement.hpp:95