.. Copyright (c) 2019, 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

Public Types
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__policy__overlap
       libsemigroups__fpsemigroup__knuthbendix__const_iterator
       libsemigroups__fpsemigroup__knuthbendix__rule_type

Constructors
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__knuthbendix
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_knuthbendix_const__
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_knuthbendix___
       libsemigroups__fpsemigroup__knuthbendix__knuthbendix_std__shared_ptr_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__operator__knuthbendix_const__

Validation
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__validate_letter_char__const
       libsemigroups__fpsemigroup__knuthbendix__validate_letter_letter_type__const
       libsemigroups__fpsemigroup__knuthbendix__validate_word_std__string_const___const
       libsemigroups__fpsemigroup__knuthbendix__validate_word_word_type_const___const

Converters
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__char_to_uint
       libsemigroups__fpsemigroup__knuthbendix__string_to_word
       libsemigroups__fpsemigroup__knuthbendix__to_gap_string
       libsemigroups__fpsemigroup__knuthbendix__uint_to_char
       libsemigroups__fpsemigroup__knuthbendix__word_to_string

Initialisation
--------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__add_rule_rule_type_
       libsemigroups__fpsemigroup__knuthbendix__add_rule_std__initializer_list_size_t___std__initializer_list_size_t__
       libsemigroups__fpsemigroup__knuthbendix__add_rule_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__add_rule_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__add_rules_froidurepinbase__
       libsemigroups__fpsemigroup__knuthbendix__add_rules_std__vector_rule_type__const__
       libsemigroups__fpsemigroup__knuthbendix__set_alphabet_size_t_
       libsemigroups__fpsemigroup__knuthbendix__set_alphabet_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__set_identity_letter_type_
       libsemigroups__fpsemigroup__knuthbendix__set_identity_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__set_inverses

Attributes
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__active_rules
       libsemigroups__fpsemigroup__knuthbendix__alphabet
       libsemigroups__fpsemigroup__knuthbendix__cbegin_rules
       libsemigroups__fpsemigroup__knuthbendix__cend_rules
       libsemigroups__fpsemigroup__knuthbendix__confluent
       libsemigroups__fpsemigroup__knuthbendix__froidure_pin
       libsemigroups__fpsemigroup__knuthbendix__has_froidure_pin
       libsemigroups__fpsemigroup__knuthbendix__identity
       libsemigroups__fpsemigroup__knuthbendix__inverses
       libsemigroups__fpsemigroup__knuthbendix__is_obviously_finite
       libsemigroups__fpsemigroup__knuthbendix__is_obviously_infinite
       libsemigroups__fpsemigroup__knuthbendix__nr_active_rules
       libsemigroups__fpsemigroup__knuthbendix__nr_rules
       libsemigroups__fpsemigroup__knuthbendix__size

Settings
--------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__check_confluence_interval
       libsemigroups__fpsemigroup__knuthbendix__max_overlap
       libsemigroups__fpsemigroup__knuthbendix__max_rules
       libsemigroups__fpsemigroup__knuthbendix__overlap_policy
       libsemigroups__fpsemigroup__knuthbendix__report
       libsemigroups__fpsemigroup__knuthbendix__report_every_tinttype_
       libsemigroups__fpsemigroup__knuthbendix__report_every_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__knuthbendix__report_why_we_stopped

Running
-------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__kill
       libsemigroups__fpsemigroup__knuthbendix__knuth_bendix_by_overlap_length
       libsemigroups__fpsemigroup__knuthbendix__run
       libsemigroups__fpsemigroup__knuthbendix__run_for_tinttype_
       libsemigroups__fpsemigroup__knuthbendix__run_for_std__chrono__nanoseconds_
       libsemigroups__fpsemigroup__knuthbendix__run_until

State
-----

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__dead
       libsemigroups__fpsemigroup__knuthbendix__finished
       libsemigroups__fpsemigroup__knuthbendix__running
       libsemigroups__fpsemigroup__knuthbendix__started
       libsemigroups__fpsemigroup__knuthbendix__stopped
       libsemigroups__fpsemigroup__knuthbendix__stopped_by_predicate
       libsemigroups__fpsemigroup__knuthbendix__timed_out

Operators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroup__knuthbendix__equal_to_std__initializer_list_letter_type___std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__knuthbendix__equal_to_std__string_const___std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__equal_to_word_type_const___word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_std__initializer_list_letter_type__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_std__string_const__
       libsemigroups__fpsemigroup__knuthbendix__normal_form_word_type_const__
       libsemigroups__fpsemigroup__knuthbendix__rewrite_std__string____const
       libsemigroups__fpsemigroup__knuthbendix__rewrite_std__string__const
