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"
33#include "detail/knuth-bendix-impl.hpp"
88 template <
typename Result>
90 std::is_same_v<Presentation<typename Result::word_type>, Result>,
132 template <
template <
typename...>
typename Thing,
135 typename ReductionOrder>
136 auto to(KnuthBendix<Word, Rewriter, ReductionOrder>& kb)
136 auto to(KnuthBendix<Word, Rewriter, ReductionOrder>& kb) {
…}
180 template <
typename Result,
typename Word,
typename Func>
182 std::is_same_v<Presentation<typename Result::word_type>, Result>,
226 template <
typename Result,
typename Word,
typename Func>
228 std::is_same_v<InversePresentation<typename Result::word_type>, Result>,
276 template <
typename Result,
typename Word>
278 std::is_same_v<Presentation<typename Result::word_type>, Result>
279 && !std::is_same_v<typename Result::word_type, Word>,
284 template <
typename Result,
typename Word>
286 -> std::enable_if_t<std::is_same_v<Presentation<Word>, Result>,
338 template <
typename Result,
typename Word>
340 std::is_same_v<InversePresentation<typename Result::word_type>, Result>
341 && !std::is_same_v<Word, typename Result::word_type>,
343 using WordOutput =
typename Result::word_type;
351 template <
typename Result,
typename Word>
352 auto to(InversePresentation<Word>
const& ip)
noexcept
353 -> std::enable_if_t<std::is_same_v<InversePresentation<Word>, Result>,
392#ifdef LIBSEMIGROUPS_PARSED_BY_DOXYGEN
395 template <
template <
typename...>
typename Thing,
typename Word>
397 std::is_same_v<InversePresentation<Word>, Thing<Word>>,
400 template <
template <
typename...>
typename Thing,
typename Word>
402 std::is_same_v<InversePresentation<Word>, Thing<Word>>,
408#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:2188
For an implementation of presentations for semigroups or monoids.
Definition presentation.hpp:102
auto to(detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< Presentation< typename Result::word_type >, Result >, Result >
No doc.
Word::value_type human_readable_letter(size_t i)
Returns a character by index in human readable order.
Definition word-range.hpp:2108
Namespace for everything in the libsemigroups library.
Definition action.hpp:44