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

CongruenceByPairs
=================

.. doxygenclass:: libsemigroups::CongruenceByPairs
   :project: libsemigroups

.. cpp:namespace:: libsemigroups::CongruenceByPairs


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

   * - :cpp:member:`EqualTo`
     - No doc.


   * - :cpp:member:`Hash`
     - No doc.


   * - :cpp:member:`Product`
     - No doc.


   * - :cpp:member:`class_index_type`
     - Type for indices of congruence class indices.


   * - :cpp:member:`const_iterator`
     - 
   * - :cpp:member:`const_reference`
     - The type of a const reference to an :cpp:member:`element_type` .


   * - :cpp:member:`element_type`
     - 
   * - :cpp:member:`froidure_pin_type`
     - No doc.


   * - :cpp:member:`non_trivial_class_iterator`
     - 
   * - :cpp:member:`non_trivial_classes_type`
     - 
   * - :cpp:member:`reference`
     - The type of a reference to an :cpp:member:`element_type` .


   * - :cpp:member:`state_type`
     - No doc.



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

   * - :cpp:member:`CongruenceByPairs(CongruenceByPairs const&) = default`
     - A default copy constructor.


   * - :cpp:member:`CongruenceByPairs(CongruenceByPairs&&) = default`
     - A default move constructor.


   * - :cpp:member:`CongruenceByPairs(congruence_kind, T const&) <template <typename T>  CongruenceByPairs(congruence_kind, T const&)>`
     - 
   * - :cpp:member:`CongruenceByPairs(congruence_kind, std::shared_ptr<FroidurePinBase>) noexcept`
     - 
   * - :cpp:member:`CongruenceByPairs(congruence_kind, std::shared_ptr\<T>, bool) <template <typename T, typename SFINAE = std::enable_if_t<IsState<T>::value, T>>  CongruenceByPairs(congruence_kind, std::shared_ptr<T>, bool)>`
     - No doc.



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

   * - :cpp:member:`CongruenceByPairs() = delete`
     - 
   * - :cpp:member:`operator=(CongruenceByPairs const&) = delete`
     - 
   * - :cpp:member:`operator=(CongruenceByPairs&&) = delete`
     - 

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

   * - :cpp:member:`add_pair(std::initializer_list<size_t>, std::initializer_list<size_t>)`
     - 
   * - :cpp:member:`add_pair(word_type const&, word_type const&)`
     - 
   * - :cpp:member:`cbegin_generating_pairs() const noexcept`
     - 
   * - :cpp:member:`cbegin_ntc()`
     - 
   * - :cpp:member:`cend_generating_pairs() const noexcept`
     - 
   * - :cpp:member:`cend_ntc()`
     - 
   * - :cpp:member:`class_index_to_word(class_index_type)`
     - 
   * - :cpp:member:`const_contains(word_type const&, word_type const&) const`
     - 
   * - :cpp:member:`contains(word_type const&, word_type const&)`
     - 
   * - :cpp:member:`has_parent_fpsemigroup() const noexcept`
     - 
   * - :cpp:member:`has_parent_froidure_pin() const noexcept`
     - 
   * - :cpp:member:`has_quotient_froidure_pin() const noexcept`
     - 
   * - :cpp:member:`is_quotient_obviously_finite()`
     - 
   * - :cpp:member:`is_quotient_obviously_infinite()`
     - 
   * - :cpp:member:`kind() const noexcept`
     - 
   * - :cpp:member:`less(word_type const&, word_type const&)`
     - 
   * - :cpp:member:`non_trivial_classes()`
     - 
   * - :cpp:member:`number_of_classes()`
     - 
   * - :cpp:member:`number_of_generating_pairs() const noexcept`
     - 
   * - :cpp:member:`number_of_generators() const noexcept`
     - 
   * - :cpp:member:`number_of_non_trivial_classes()`
     - 
   * - :cpp:member:`parent_fpsemigroup() const`
     - 
   * - :cpp:member:`parent_froidure_pin() const`
     - 
   * - :cpp:member:`quotient_froidure_pin()`
     - 
   * - :cpp:member:`set_number_of_generators(size_t)`
     - 
   * - :cpp:member:`word_to_class_index(word_type 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__congruencebypairs__aliases.rst
   libsemigroups__congruencebypairs__constructors.rst
   libsemigroups__congruencebypairs__deleted_constructors.rst
   libsemigroups__congruencebypairs__member_functions_inherited_from_congruenceinterface.rst
   libsemigroups__congruencebypairs__member_functions_inherited_from_runner.rst
