CongruenceWrapper

template<typename T>
class CongruenceWrapper : public FpSemigroupInterface

Defined in cong-wrap.hpp.

This class wraps a derived class of CongruenceInterface of type T so that it has the FpSemigroupInterface.

Member types

wrapped_type

The type of the wrapped congruence, also the template parameter T.

Constructors

CongruenceWrapper()

Default constructor.

CongruenceWrapper(CongruenceWrapper const&)

Default copy constructor.

CongruenceWrapper(CongruenceWrapper&&) = default

Deleted.

CongruenceWrapper(S const&)

Constructor from a const reference to a FroidurePinBase.

CongruenceWrapper(std::shared_ptr<FroidurePinBase>)

Constructor from a std::shared_ptr to a FroidurePinBase.

Deleted constructors

operator=(CongruenceWrapper const&) = delete

Deleted.

operator=(CongruenceWrapper&&) = delete

Deleted.

CongruenceWrapper member functions

congruence() const

Get a reference to the underlying congruence.

Member functions and types inherited from FpSemigroupInterface

add_rule(relation_type)

None

add_rule(rule_type)

None

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

None

add_rule(std::string const&, std::string const&)

None

add_rule(word_type const&, word_type const&)

None

add_rules(FroidurePinBase&)

None

add_rules(std::vector<rule_type> const&)

None

alphabet() const noexcept

None

alphabet(size_t) const

None

cbegin_rules() const noexcept

None

cend_rules() const noexcept

None

char_to_uint(char) const

None

char_type

None

const_iterator

None

equal_to(std::initializer_list<letter_type>, std::initializer_list<letter_type>)

None

equal_to(std::string const&, std::string const&) override

equal_to(word_type const&, word_type const&) override

froidure_pin()

None

has_froidure_pin() const noexcept

None

has_identity() const noexcept

None

identity() const

None

inverses() const

None

is_obviously_finite()

None

is_obviously_infinite()

None

normal_form(std::initializer_list<letter_type>)

None

normal_form(std::string const&) override

normal_form(word_type const&) override

number_of_rules() const noexcept

None

rule_type

None

set_alphabet(size_t)

None

set_alphabet(std::string const&)

None

set_identity(letter_type)

None

set_identity(std::string const&)

None

set_inverses(std::string const&)

None

size() override

string_to_word(std::string const&) const

None

string_type

None

to_gap_string()

None

uint_to_char(letter_type) const

None

validate_letter(char) const

None

validate_letter(letter_type) const

None

validate_word(std::string const&) const

None

validate_word(word_type const&) const

None

word_to_string(word_type const&) const

None

Member functions inherited from Runner

dead() const noexcept

None

finished() const

None

kill() noexcept

None

report() const

None

report_every() const noexcept

None

report_every(TIntType)

None

report_every(std::chrono::nanoseconds)

None

report_why_we_stopped() const

None

run()

None

run_for(TIntType)

None

run_for(std::chrono::nanoseconds)

None

run_until(T&&)

None

run_until(bool(*)())

None

running() const noexcept

None

running_for() const noexcept

None

running_until() const noexcept

None

started() const

None

stopped() const

None

stopped_by_predicate() const

None

timed_out() const

None