.. 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.

FpSemigroupInterface
====================

.. doxygenclass:: libsemigroups::FpSemigroupInterface
   :project: libsemigroups

Type Aliases
------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__const_iterator
       libsemigroups__fpsemigroupinterface__rule_type

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

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__fpsemigroupinterface__
       libsemigroups__fpsemigroupinterface__fpsemigroupinterface_fpsemigroupinterface_const__

Deleted constructors
--------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__fpsemigroupinterface_fpsemigroupinterface___
       libsemigroups__fpsemigroupinterface__operator__fpsemigroupinterface_const__
       libsemigroups__fpsemigroupinterface__operator__fpsemigroupinterface___

Validation
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__validate_letter_char__const
       libsemigroups__fpsemigroupinterface__validate_letter_letter_type__const
       libsemigroups__fpsemigroupinterface__validate_word_std__string_const___const
       libsemigroups__fpsemigroupinterface__validate_word_word_type_const___const

Initialization
--------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__add_rule_relation_type_
       libsemigroups__fpsemigroupinterface__add_rule_rule_type_
       libsemigroups__fpsemigroupinterface__add_rule_std__initializer_list_size_t___std__initializer_list_size_t__
       libsemigroups__fpsemigroupinterface__add_rule_std__string_const___std__string_const__
       libsemigroups__fpsemigroupinterface__add_rule_word_type_const___word_type_const__
       libsemigroups__fpsemigroupinterface__add_rules_froidurepinbase__
       libsemigroups__fpsemigroupinterface__add_rules_std__vector_rule_type__const__
       libsemigroups__fpsemigroupinterface__alphabet
       libsemigroups__fpsemigroupinterface__identity
       libsemigroups__fpsemigroupinterface__inverses
       libsemigroups__fpsemigroupinterface__nr_rules
       libsemigroups__fpsemigroupinterface__set_alphabet_size_t_
       libsemigroups__fpsemigroupinterface__set_alphabet_std__string_const__
       libsemigroups__fpsemigroupinterface__set_identity_letter_type_
       libsemigroups__fpsemigroupinterface__set_identity_std__string_const__
       libsemigroups__fpsemigroupinterface__set_inverses

Reporting
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__report
       libsemigroups__fpsemigroupinterface__report_every_tinttype_
       libsemigroups__fpsemigroupinterface__report_every_std__chrono__nanoseconds_
       libsemigroups__fpsemigroupinterface__report_why_we_stopped

Operators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__kill
       libsemigroups__fpsemigroupinterface__run
       libsemigroups__fpsemigroupinterface__run_for_tinttype_
       libsemigroups__fpsemigroupinterface__run_for_std__chrono__nanoseconds_
       libsemigroups__fpsemigroupinterface__run_until

State
-----

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__dead
       libsemigroups__fpsemigroupinterface__finished
       libsemigroups__fpsemigroupinterface__running
       libsemigroups__fpsemigroupinterface__started
       libsemigroups__fpsemigroupinterface__stopped
       libsemigroups__fpsemigroupinterface__stopped_by_predicate
       libsemigroups__fpsemigroupinterface__timed_out

Normal forms and equality testing
---------------------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__equal_to_std__initializer_list_letter_type___std__initializer_list_letter_type__
       libsemigroups__fpsemigroupinterface__equal_to_std__string_const___std__string_const__
       libsemigroups__fpsemigroupinterface__equal_to_word_type_const___word_type_const__
       libsemigroups__fpsemigroupinterface__normal_form_std__initializer_list_letter_type__
       libsemigroups__fpsemigroupinterface__normal_form_std__string_const__
       libsemigroups__fpsemigroupinterface__normal_form_word_type_const__

Words to strings and vice versa
-------------------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__char_to_uint
       libsemigroups__fpsemigroupinterface__string_to_word
       libsemigroups__fpsemigroupinterface__uint_to_char
       libsemigroups__fpsemigroupinterface__word_to_string

Related semigroups
------------------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__froidure_pin
       libsemigroups__fpsemigroupinterface__has_froidure_pin

Finiteness
----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__is_obviously_finite
       libsemigroups__fpsemigroupinterface__is_obviously_infinite
       libsemigroups__fpsemigroupinterface__size

Iterators
---------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__cbegin_rules
       libsemigroups__fpsemigroupinterface__cend_rules

Miscellanea
-----------

.. toctree::
       :maxdepth: 2

       libsemigroups__fpsemigroupinterface__to_gap_string
