19#ifndef LIBSEMIGROUPS_TO_PRESENTATION_HPP_
20#define LIBSEMIGROUPS_TO_PRESENTATION_HPP_
28#include "froidure-pin-base.hpp"
29#include "knuth-bendix-class.hpp"
30#include "presentation.hpp"
31#include "word-range.hpp"
87 template <
typename Result>
89 std::is_same_v<Presentation<typename Result::word_type>, Result>,
135 template <
typename Result,
138 typename ReductionOrder>
139 auto to(KnuthBendix<WordIn, Rewriter, ReductionOrder>& kb)
141 std::is_same_v<Presentation<typename Result::word_type>, Result>,
178#ifdef LIBSEMIGROUPS_PARSED_BY_DOXYGEN
182 template <
template <
typename...>
typename Thing,
184 typename Rewriter
typename ReductionOrder>
185 auto to(KnutBendix<Word, Rewriter, ReductionOrder>& kb)
189 template <
template <
typename...>
typename Thing,
192 typename ReductionOrder>
193 auto to(KnuthBendix<Word, Rewriter, ReductionOrder>& kb)
238 template <
typename Result,
typename Word,
typename Func>
240 std::is_same_v<Presentation<typename Result::word_type>, Result>,
284 template <
typename Result,
typename Word,
typename Func>
286 std::is_same_v<InversePresentation<typename Result::word_type>, Result>,
334 template <
typename Result,
typename Word>
336 std::is_same_v<Presentation<typename Result::word_type>, Result>
337 && !std::is_same_v<typename Result::word_type, Word>,
342 template <
typename Result,
typename Word>
344 -> std::enable_if_t<std::is_same_v<Presentation<Word>, Result>,
396 template <
typename Result,
typename Word>
398 std::is_same_v<InversePresentation<typename Result::word_type>, Result>
399 && !std::is_same_v<Word, typename Result::word_type>,
401 using WordOutput =
typename Result::word_type;
409 template <
typename Result,
typename Word>
410 auto to(InversePresentation<Word>
const& ip)
noexcept
411 -> std::enable_if_t<std::is_same_v<InversePresentation<Word>, Result>,
450#ifdef LIBSEMIGROUPS_PARSED_BY_DOXYGEN
453 template <
template <
typename...>
typename Thing,
typename Word>
455 std::is_same_v<InversePresentation<Word>, Thing<Word>>,
458 template <
template <
typename...>
typename Thing,
typename Word>
460 std::is_same_v<InversePresentation<Word>, Thing<Word>>,
466#include "to-presentation.tpp"
Base class for FroidurePin containing non-element specific data and member functions.
Definition froidure-pin-base.hpp:66
For an implementation of inverse presentations for semigroups or monoids.
Definition presentation.hpp:2317
For an implementation of presentations for semigroups or monoids.
Definition presentation.hpp:102
Word::value_type human_readable_letter(size_t i)
Returns a character by index in human readable order.
Definition word-range.hpp:2131
Namespace for everything in the libsemigroups library.
Definition action.hpp:44
auto to(detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< Presentation< typename Result::word_type >, Result >, Result >
No doc.