.. Copyright (c) 2019-22, J. D. Mitchell

   Distributed under the terms of the GPL license version 3.

   The full license is in the file LICENSE, distributed with this software.

   This file was auto-generated by docs/generate_from_yml.py, do not edit.

fpsemigroup::KnuthBendix
========================

.. doxygenclass:: libsemigroups::fpsemigroup::KnuthBendix
   :project: libsemigroups

.. cpp:namespace:: libsemigroups::fpsemigroup::KnuthBendix


Public Types
------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`const_normal_form_iterator`
     - Type of an const iterator to a normal form.


   * - :cpp:member:`froidure_pin_type`
     - 
   * - :cpp:member:`options`
     - 
   * - :cpp:member:`options::overlap`
     - 

Constructors
------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`KnuthBendix() <KnuthBendix::KnuthBendix()>`
     - 
   * - :cpp:member:`KnuthBendix(FroidurePinBase&)`
     - 
   * - :cpp:member:`KnuthBendix(KnuthBendix const&)`
     - 
   * - :cpp:member:`KnuthBendix(KnuthBendix&&)`
     - Deleted.


   * - :cpp:member:`KnuthBendix(std::shared_ptr<FroidurePinBase>)`
     - 

Deleted constructors
--------------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`operator=(KnuthBendix &&) = delete`
     - Deleted.


   * - :cpp:member:`operator=(KnuthBendix const&) = delete`
     - Deleted.



Member functions
----------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`active_rules() const`
     - 
   * - :cpp:member:`cbegin_normal_forms(size_t, size_t)`
     - 
   * - :cpp:member:`cbegin_normal_forms(std::string const&, size_t, size_t)`
     - 
   * - :cpp:member:`cend_normal_forms()`
     - 
   * - :cpp:member:`confluent() const`
     - 
   * - :cpp:member:`contains_empty_string() const`
     - 
   * - :cpp:member:`gilman_digraph()`
     - 
   * - :cpp:member:`knuth_bendix_by_overlap_length()`
     - 
   * - :cpp:member:`number_of_active_rules() const noexcept`
     - 
   * - :cpp:member:`number_of_normal_forms(size_t, size_t)`
     - 
   * - :cpp:member:`operator<<(std::ostream &,KnuthBendix const &)`
     - 
   * - :cpp:member:`rewrite(std::string *) const`
     - 
   * - :cpp:member:`rewrite(std::string) const`
     - 

Settings
--------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`check_confluence_interval(size_t)`
     - 
   * - :cpp:member:`max_overlap(size_t)`
     - 
   * - :cpp:member:`max_rules(size_t)`
     - 
   * - :cpp:member:`overlap_policy(options::overlap)`
     - 

Member functions and types inherited from FpSemigroupInterface
--------------------------------------------------------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`add_rule(relation_type)`
     - 
   * - :cpp:member:`add_rule(rule_type)`
     - 
   * - :cpp:member:`add_rule(std::initializer_list<size_t>, std::initializer_list<size_t>)`
     - 
   * - :cpp:member:`add_rule(std::string const&, std::string const&)`
     - 
   * - :cpp:member:`add_rule(word_type const&, word_type const&)`
     - 
   * - :cpp:member:`add_rules(FroidurePinBase&)`
     - 
   * - :cpp:member:`add_rules(std::vector<rule_type> const&)`
     - 
   * - :cpp:member:`alphabet() const noexcept`
     - 
   * - :cpp:member:`alphabet(size_t) const`
     - 
   * - :cpp:member:`cbegin_rules() const noexcept`
     - 
   * - :cpp:member:`cend_rules() const noexcept`
     - 
   * - :cpp:member:`char_to_uint(char) const`
     - 
   * - :cpp:member:`char_type`
     - Type for characters.


   * - :cpp:member:`const_iterator`
     - Type for const iterators to the defining rules.


   * - :cpp:member:`equal_to(std::initializer_list<letter_type>, std::initializer_list<letter_type>)`
     - 
   * - :cpp:member:`equal_to(std::string const&, std::string const&) override`
     - 
   * - :cpp:member:`equal_to(word_type const&, word_type const&)`
     - 
   * - :cpp:member:`froidure_pin()`
     - 
   * - :cpp:member:`has_froidure_pin() const noexcept`
     - 
   * - :cpp:member:`has_identity() const noexcept`
     - 
   * - :cpp:member:`identity() const`
     - 
   * - :cpp:member:`inverses() const`
     - 
   * - :cpp:member:`is_obviously_finite()`
     - 
   * - :cpp:member:`is_obviously_infinite()`
     - 
   * - :cpp:member:`normal_form(std::initializer_list<letter_type>)`
     - 
   * - :cpp:member:`normal_form(std::string const&) override`
     - 
   * - :cpp:member:`normal_form(word_type const&)`
     - 
   * - :cpp:member:`number_of_rules() const noexcept`
     - 
   * - :cpp:member:`rule_type`
     - Type for rules.


   * - :cpp:member:`set_alphabet(size_t)`
     - 
   * - :cpp:member:`set_alphabet(std::string const&)`
     - 
   * - :cpp:member:`set_identity(letter_type)`
     - 
   * - :cpp:member:`set_identity(std::string const&)`
     - 
   * - :cpp:member:`set_inverses(std::string const&)`
     - 
   * - :cpp:member:`size() override`
     - 
   * - :cpp:member:`string_to_word(std::string const&) const`
     - 
   * - :cpp:member:`string_type`
     - Type for strings.


   * - :cpp:member:`to_gap_string()`
     - 
   * - :cpp:member:`uint_to_char(letter_type) const`
     - 
   * - :cpp:member:`validate_letter(char) const`
     - 
   * - :cpp:member:`validate_letter(letter_type) const`
     - 
   * - :cpp:member:`validate_word(std::string const&) const`
     - 
   * - :cpp:member:`validate_word(word_type const&) const`
     - 
   * - :cpp:member:`word_to_string(word_type const&) const`
     - 

Member functions inherited from Runner
--------------------------------------
.. list-table::
   :widths: 50 50
   :header-rows: 0

   * - :cpp:member:`dead() const noexcept`
     - 
   * - :cpp:member:`finished() const`
     - 
   * - :cpp:member:`kill() noexcept`
     - 
   * - :cpp:member:`report() const`
     - 
   * - :cpp:member:`report_every() const noexcept`
     - 
   * - :cpp:member:`report_every(TIntType) <template <typename TIntType> void report_every(TIntType)>`
     - 
   * - :cpp:member:`report_every(std::chrono::nanoseconds)`
     - 
   * - :cpp:member:`report_why_we_stopped() const`
     - 
   * - :cpp:member:`run()`
     - 
   * - :cpp:member:`run_for(TIntType) <template <typename TIntType> void run_for(TIntType)>`
     - 
   * - :cpp:member:`run_for(std::chrono::nanoseconds)`
     - 
   * - :cpp:member:`run_until(T&&) <template <typename T> void run_until(T&&)>`
     - 
   * - :cpp:member:`run_until(bool(*)())`
     - 
   * - :cpp:member:`running() const noexcept`
     - 
   * - :cpp:member:`running_for() const noexcept`
     - 
   * - :cpp:member:`running_until() const noexcept`
     - 
   * - :cpp:member:`started() const`
     - 
   * - :cpp:member:`stopped() const`
     - 
   * - :cpp:member:`stopped_by_predicate() const`
     - 
   * - :cpp:member:`timed_out() const`
     - 

.. toctree::
   :hidden:

   libsemigroups__fpsemigroup__knuthbendix__public_types.rst
   libsemigroups__fpsemigroup__knuthbendix__constructors.rst
   libsemigroups__fpsemigroup__knuthbendix__deleted_constructors.rst
   libsemigroups__fpsemigroup__knuthbendix__member_functions.rst
   libsemigroups__fpsemigroup__knuthbendix__settings.rst
   libsemigroups__fpsemigroup__knuthbendix__member_functions_and_types_inherited_from_fpsemigroupinterface.rst
   libsemigroups__fpsemigroup__knuthbendix__member_functions_inherited_from_runner.rst
