Class model::Permutation
Constructors
Permutation()
Declaration
model::Permutation::Permutation()
Permutation()
Declaration
model::Permutation::Permutation(size_t N)
Methods
operator[]()
Declaration
size_t model::Permutation::operator[](size_t i) const
size()
Declaration
size_t model::Permutation::size() const
move_node()
Declaration
void model::Permutation::move_node(size_t a, size_t b)
swap_nodes()
Declaration
void model::Permutation::swap_nodes(size_t a, size_t b)
swap_edges()
Declaration
void model::Permutation::swap_edges(size_t a, size_t b)
render()
render the object in structured form
Return a structured representation of the object. This is intended for output purposes. For instance, the solution your solver finds should have a render method which allows it to be returned as part of the result. Example:
{c++}
MySolution : public Component {
public:
// Represent the internal bool vector as +-1 output.
utils::Structure render() const override {
utils::Structure rendered;
for (bool item : solution_) rendered.push_back(item ? 1 : -1);
return rendered;
}
private:
std::vector<bool> solution_;
}
MySolution solution;
std::cout << solution.render().to_string() << std::endl;
Declaration
utils::Structure model::Permutation::render() const override
copy_state_only()
Declaration
void model::Permutation::copy_state_only(const Permutation&other)
random()
Declaration
Permutation model::Permutation::random(size_t N, utils::RandomGenerator&rng)
memory_estimate()
Declaration
static size_t model::Permutation::memory_estimate(size_t N)
state_only_memory_estimate()
Declaration
static size_t model::Permutation::state_only_memory_estimate(size_t N)