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

Sims1
=====

.. doxygenclass:: libsemigroups::Sims1
   :project: libsemigroups

.. cpp:namespace:: libsemigroups::Sims1


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

   * - :cpp:member:`digraph_type`
     - The type of the associated :cpp:any:`ActionDigraph`  objects.


   * - :cpp:member:`letter_type`
     - Type for letters in the underlying presentation.


   * - :cpp:member:`node_type`
     - Type for the nodes in the associated :cpp:any:`ActionDigraph`  objects.


   * - :cpp:member:`size_type`
     - The size_type of the associated :cpp:any:`ActionDigraph`  objects.



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

   * - :cpp:member:`Sims1() = delete`
     - Default constructor - deleted!


   * - :cpp:member:`Sims1(Sims1 const&) = default`
     - Default copy constructor.


   * - :cpp:member:`Sims1(Sims1&&) = default`
     - Default move constructor.


   * - :cpp:member:`Sims1(congruence_kind, P const&) <template <typename P>  Sims1(congruence_kind, P const&)>`
     - Construct from :cpp:member:`congruence_kind`  and :cpp:any:`Presentation` .


   * - :cpp:member:`Sims1(congruence_kind, P const&, P const&) <template <typename P>  Sims1(congruence_kind, P const&, P const&)>`
     - Construct from :cpp:member:`congruence_kind`  and two :cpp:any:`Presentation`  objects.


   * - :cpp:member:`Sims1(congruence_kind, Presentation<word_type> const&)`
     - Construct from :cpp:member:`congruence_kind`  and :cpp:any:`Presentation` .


   * - :cpp:member:`Sims1(congruence_kind, Presentation<word_type> const&, Presentation<word_type> const&)`
     - Construct from :cpp:member:`congruence_kind`  and two :cpp:any:`Presentation`  objects.


   * - :cpp:member:`operator=(Sims1 const&) = default`
     - Default copy assignment operator.


   * - :cpp:member:`operator=(Sims1&&) = default`
     - Default move assignment operator.



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

   * - :cpp:member:`cbegin(size_type) const`
     - Returns a forward iterator pointing at the first congruence.


   * - :cpp:member:`cend(size_type) const`
     - Returns a forward iterator pointing one beyond the last congruence.


   * - :cpp:member:`extra() const noexcept`
     - Returns a const reference to the additional defining pairs.


   * - :cpp:member:`number_of_congruences(size_type) const`
     - Returns the number of one-sided congruences with up to a given number of classes.


   * - :cpp:member:`presentation() const noexcept`
     - Returns a const reference to the defining presentation.


   * - :cpp:member:`split_at(size_type)`
     - Only apply certain relations when an otherwise compatible :cpp:any:`ActionDigraph`  is found.



.. toctree::
   :hidden:

   libsemigroups__sims1__member_types.rst
   libsemigroups__sims1__constructors.rst
   libsemigroups__sims1__member_functions.rst
