CongruenceInterface

class CongruenceInterface : public libsemigroups::Runner

Defined in cong-intf.hpp.

Every class for representing congruences in libsemigroups is derived from CongruenceInterface, which holds the member functions that are common to all its derived classes. CongruenceInterface is an abstract class.

Subclassed by libsemigroups::CongruenceByPairs< FroidurePin< detail::KBE, FroidurePinTraits< detail::KBE, fpsemigroup::KnuthBendix > > >, libsemigroups::Congruence, libsemigroups::CongruenceByPairs< TFroidurePinType >, libsemigroups::congruence::Kambites, libsemigroups::congruence::KnuthBendix, libsemigroups::congruence::ToddCoxeter

Member types

class_index_type

Type for indices of congruence class indices.

const_iterator

non_trivial_class_iterator

non_trivial_classes_type

Constructors

CongruenceInterface(CongruenceInterface const&) = default

Default copy constructor.

CongruenceInterface(congruence_kind)

Constructs a congruence of the specified type.

Deleted constructors

CongruenceInterface() = delete

Deleted.

CongruenceInterface(CongruenceInterface&&) = delete

Deleted.

operator=(CongruenceInterface const&) = delete

Deleted.

operator=(CongruenceInterface&&) = delete

Deleted.

Initialization

add_pair(std::initializer_list<size_t>, std::initializer_list<size_t>)

add_pair(word_type const&, word_type const&)

number_of_generating_pairs() const noexcept

number_of_generators() const noexcept

set_number_of_generators(size_t)

Handedness

kind() const noexcept

Iterators

cbegin_generating_pairs() const noexcept

cbegin_ntc()

cend_generating_pairs() const noexcept

cend_ntc()

Words and class indices

class_index_to_word(class_index_type)

word_to_class_index(word_type const&)

Numbers of classes, and comparisons

const_contains(word_type const&, word_type const&) const

contains(word_type const&, word_type const&)

less(word_type const&, word_type const&)

non_trivial_classes()

number_of_classes()

number_of_non_trivial_classes()

Member functions inherited from Runner

dead() const noexcept

finished() const

kill() noexcept

report() const

report_every() const noexcept

report_every(TIntType)

report_every(std::chrono::nanoseconds)

report_why_we_stopped() const

run()

run_for(TIntType)

run_for(std::chrono::nanoseconds)

run_until(T&&)

run_until(bool(*)())

running() const noexcept

running_for() const noexcept

running_until() const noexcept

started() const

stopped() const

stopped_by_predicate() const

timed_out() const