.. Copyright (c) 2019-20, 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___const
       libsemigroups__fpsemigroupinterface__alphabet_size_t__const
       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_t___
       libsemigroups__fpsemigroupinterface__run_until_bool_____

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
