Konieczny(std::vector<element_type> const&)

libsemigroups::Konieczny::Konieczny(std::vector<element_type> const &gens)

Construct from generators.

This is the standard constructor for a Konieczny instance generated by a vector of generators. There can be duplicate generators and although they do not count as distinct elements, they do count as distinct generators. In other words, the generators of the semigroup are precisely (a copy of) gens in the same order they occur in gens.

The generators gens are copied by the constructor, and so it is the responsibility of the caller to delete gens.

Parameters
  • gens: the generators of the semigroup represented by this.

Exceptions
  • LibsemigroupsException: if gens is empty, or Konieczny::Degree()(x) != Konieczny::Degree()(y) for x, y in gens.