This page contains documentation related to converting libsemigroups objects into ToddCoxeter instances.
- See also
- The `to` function for an overview of possible conversions between
libsemigroups types.
|
| template<template< typename... > typename Thing, typename Word, typename Rewriter, typename ReductionOrder> |
| auto | to (congruence_kind knd, KnuthBendix< Word, Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< ToddCoxeter< Word >, Thing< Word > >, ToddCoxeter< Word > > |
| | Convert a KnuthBendix object to a ToddCoxeter object.
|
| |
| template<typename Result, typename Node> |
| auto | to (congruence_knd knd, FroidurePinBase &fpb, WordGraph< Node > const &wg) -> std::enable_if_t< std::is_same_v< ToddCoxeter< typename Result::native_word_type >, Result >, Result > |
| | Convert a FroidurePin object to a ToddCoxeter object.
|
| |
◆ to() [1/2]
template<template< typename... > typename Thing, typename Word, typename Rewriter, typename ReductionOrder>
| auto to |
( |
congruence_kind | knd, |
|
|
KnuthBendix< Word, Rewriter, ReductionOrder > & | kb ) -> std::enable_if_t< std::is_same_v< ToddCoxeter< Word >, Thing< Word > >, ToddCoxeter< Word > > |
Defined in to-todd-coxeter.hpp
Despite the hideous signature, this function should be invoked as follows:
auto to(detail::KnuthBendixImpl< Rewriter, ReductionOrder > &kb) -> std::enable_if_t< std::is_same_v< Presentation< typename Result::word_type >, Result >, Result >
No doc.
This function converts the KnuthBendix object kb into a ToddCoxeter object using the right Cayley graph of the semigroup represented by kb.
- Template Parameters
-
| Thing | used for SFINAE, must be ToddCoxeter. |
| Word | the type of the words used in relations in kb. |
| Rewriter | the type of rewriter used by kb. |
| ReductionOrder | the type of reduction ordering used by kb. |
- Parameters
-
| knd | the kind of the congruence being constructed. |
| kb | the KnuthBendix object being converted. |
- Returns
- A ToddCoxeter object representing the trivial congruence over the semigroup defined by
kb.
- Exceptions
-
◆ to() [2/2]
template<typename Result, typename Node>
| auto to |
( |
congruence_knd | knd, |
|
|
FroidurePinBase & | fpb, |
|
|
WordGraph< Node > const & | wg ) -> std::enable_if_t< std::is_same_v< ToddCoxeter< typename Result::native_word_type >, Result >, Result > |
Defined in to-todd-coxeter.hpp
Despite the hideous signature, this function should be invoked as follows:
This function converts the FroidurePin object fpb into a ToddCoxeter object using the WordGraph wg (which should be either the left_cayley_graph or the right_cayley_graph of fpb).
- Template Parameters
-
| Result | used for SFINAE, the return type of this function, must be ToddCoxeter<Word> for some type Word. |
| Node | the type of the nodes in the WordGraph wg. |
- Parameters
-
| knd | the kind of the congruence being constructed. |
| fpb | the FroidurePin instance to be converted. |
| wg | the left or right Cayley graph of fpb. |
- Returns
- A ToddCoxeter object representing the trivial congruence over the semigroup defined by
fpb.
- Exceptions
-