@@ -42,7 +42,9 @@ namespace libsemigroups {
4242
4343 using RewriteTrie = detail::RewriteTrie;
4444 using RewriteFromLeft = detail::RewriteFromLeft;
45- using MultiStringView = detail::MultiStringView;
45+
46+ template <typename Thing>
47+ using MultiView = detail::MultiView<Thing>;
4648
4749 // Alias required because macros don't play well with commas.
4850 using KnuthBendixStringRewriteTrie = KnuthBendix<std::string, RewriteTrie>;
@@ -122,7 +124,8 @@ This function default constructs an uninitialised :any:`{name}` instance.
122124 DEF_CONSTRUCT_DEFAULT (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
123125
124126 DEF_CONSTRUCT_DEFAULT (Kambites<word_type>, detail::CongruenceCommon);
125- DEF_CONSTRUCT_DEFAULT (Kambites<MultiStringView>, detail::CongruenceCommon);
127+ DEF_CONSTRUCT_DEFAULT (Kambites<MultiView<std::string>>,
128+ detail::CongruenceCommon);
126129 DEF_CONSTRUCT_DEFAULT (Kambites<std::string>, detail::CongruenceCommon);
127130
128131 DEF_CONSTRUCT_DEFAULT (detail::KnuthBendixImpl<RewriteTrie>,
@@ -182,7 +185,7 @@ have been in if it had just been newly default constructed.
182185 DEF_INIT_DEFAULT (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
183186
184187 DEF_INIT_DEFAULT (Kambites<word_type>, detail::CongruenceCommon);
185- DEF_INIT_DEFAULT (Kambites<MultiStringView >, detail::CongruenceCommon);
188+ DEF_INIT_DEFAULT (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
186189 DEF_INIT_DEFAULT (Kambites<std::string>, detail::CongruenceCommon);
187190
188191 DEF_INIT_DEFAULT (detail::KnuthBendixImpl<RewriteTrie>,
@@ -254,7 +257,7 @@ of kind *knd* over the semigroup or monoid defined by the presentation *p*.
254257
255258 DEF_CONSTRUCT_KIND_PRESENTATION (Kambites<word_type>,
256259 detail::CongruenceCommon);
257- DEF_CONSTRUCT_KIND_PRESENTATION (Kambites<MultiStringView >,
260+ DEF_CONSTRUCT_KIND_PRESENTATION (Kambites<MultiView<std::string> >,
258261 detail::CongruenceCommon);
259262 DEF_CONSTRUCT_KIND_PRESENTATION (Kambites<std::string>,
260263 detail::CongruenceCommon);
@@ -332,7 +335,7 @@ had been newly constructed from *knd* and *p*.
332335 DEF_INIT_KIND_PRESENTATION (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
333336
334337 DEF_INIT_KIND_PRESENTATION (Kambites<word_type>, detail::CongruenceCommon);
335- DEF_INIT_KIND_PRESENTATION (Kambites<MultiStringView >,
338+ DEF_INIT_KIND_PRESENTATION (Kambites<MultiView<std::string> >,
336339 detail::CongruenceCommon);
337340 DEF_INIT_KIND_PRESENTATION (Kambites<std::string>, detail::CongruenceCommon);
338341
@@ -390,7 +393,7 @@ Copy a :any:`{name}` object.
390393 DEF_COPY (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
391394
392395 DEF_COPY (Kambites<word_type>, detail::CongruenceCommon);
393- DEF_COPY (Kambites<MultiStringView >, detail::CongruenceCommon);
396+ DEF_COPY (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
394397 DEF_COPY (Kambites<std::string>, detail::CongruenceCommon);
395398
396399 DEF_COPY (detail::KnuthBendixImpl<RewriteTrie>, detail::CongruenceCommon);
@@ -450,7 +453,8 @@ number of classes in the congruence represented by a :any:`{name}` instance.
450453 DEF_NUMBER_OF_CLASSES (detail::ToddCoxeterImpl, detail::CongruenceCommon);
451454
452455 DEF_NUMBER_OF_CLASSES (Kambites<word_type>, detail::CongruenceCommon);
453- DEF_NUMBER_OF_CLASSES (Kambites<MultiStringView>, detail::CongruenceCommon);
456+ DEF_NUMBER_OF_CLASSES (Kambites<MultiView<std::string>>,
457+ detail::CongruenceCommon);
454458 DEF_NUMBER_OF_CLASSES (Kambites<std::string>, detail::CongruenceCommon);
455459
456460 DEF_NUMBER_OF_CLASSES (detail::KnuthBendixImpl<RewriteTrie>,
@@ -523,7 +527,8 @@ This function adds a generating pair to the congruence represented by a
523527 DEF_ADD_GENERATING_PAIR (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
524528
525529 DEF_ADD_GENERATING_PAIR (Kambites<word_type>, detail::CongruenceCommon);
526- DEF_ADD_GENERATING_PAIR (Kambites<MultiStringView>, detail::CongruenceCommon);
530+ DEF_ADD_GENERATING_PAIR (Kambites<MultiView<std::string>>,
531+ detail::CongruenceCommon);
527532 DEF_ADD_GENERATING_PAIR (Kambites<std::string>, detail::CongruenceCommon);
528533
529534 DEF_ADD_GENERATING_PAIR (detail::KnuthBendixImpl<RewriteTrie>,
@@ -605,7 +610,8 @@ contained in the congruence, but that this is not currently known.
605610 DEF_CURRENTLY_CONTAINS (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
606611
607612 DEF_CURRENTLY_CONTAINS (Kambites<word_type>, detail::CongruenceCommon);
608- DEF_CURRENTLY_CONTAINS (Kambites<MultiStringView>, detail::CongruenceCommon);
613+ DEF_CURRENTLY_CONTAINS (Kambites<MultiView<std::string>>,
614+ detail::CongruenceCommon);
609615 DEF_CURRENTLY_CONTAINS (Kambites<std::string>, detail::CongruenceCommon);
610616
611617 DEF_CURRENTLY_CONTAINS (detail::KnuthBendixImpl<RewriteTrie>,
@@ -681,7 +687,7 @@ congruence represented by a :py:class:`{name}` instance.
681687 DEF_CONTAINS (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
682688
683689 DEF_CONTAINS (Kambites<word_type>, detail::CongruenceCommon);
684- DEF_CONTAINS (Kambites<MultiStringView >, detail::CongruenceCommon);
690+ DEF_CONTAINS (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
685691 DEF_CONTAINS (Kambites<std::string>, detail::CongruenceCommon);
686692
687693 DEF_CONTAINS (detail::KnuthBendixImpl<RewriteTrie>, detail::CongruenceCommon);
@@ -753,7 +759,7 @@ normal form for the input word *w*.
753759 DEF_REDUCE_NO_RUN (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
754760
755761 DEF_REDUCE_NO_RUN (Kambites<word_type>, detail::CongruenceCommon);
756- DEF_REDUCE_NO_RUN (Kambites<MultiStringView >, detail::CongruenceCommon);
762+ DEF_REDUCE_NO_RUN (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
757763 DEF_REDUCE_NO_RUN (Kambites<std::string>, detail::CongruenceCommon);
758764
759765 DEF_REDUCE_NO_RUN (detail::KnuthBendixImpl<RewriteTrie>,
@@ -827,7 +833,7 @@ input word.
827833 DEF_REDUCE (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
828834
829835 DEF_REDUCE (Kambites<word_type>, detail::CongruenceCommon);
830- DEF_REDUCE (Kambites<MultiStringView >, detail::CongruenceCommon);
836+ DEF_REDUCE (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
831837 DEF_REDUCE (Kambites<std::string>, detail::CongruenceCommon);
832838
833839 DEF_REDUCE (detail::KnuthBendixImpl<RewriteTrie>, detail::CongruenceCommon);
@@ -886,7 +892,8 @@ This function returns the generating pairs of the congruence as added via
886892 DEF_GENERATING_PAIRS (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
887893
888894 DEF_GENERATING_PAIRS (Kambites<word_type>, detail::CongruenceCommon);
889- DEF_GENERATING_PAIRS (Kambites<MultiStringView>, detail::CongruenceCommon);
895+ DEF_GENERATING_PAIRS (Kambites<MultiView<std::string>>,
896+ detail::CongruenceCommon);
890897 DEF_GENERATING_PAIRS (Kambites<std::string>, detail::CongruenceCommon);
891898
892899 DEF_GENERATING_PAIRS (KnuthBendixStringRewriteTrie,
@@ -945,7 +952,7 @@ presentation, then this presentation is returned by this function.
945952 DEF_PRESENTATION (ToddCoxeter<std::string>, detail::ToddCoxeterImpl);
946953
947954 DEF_PRESENTATION (Kambites<word_type>, detail::CongruenceCommon);
948- DEF_PRESENTATION (Kambites<MultiStringView >, detail::CongruenceCommon);
955+ DEF_PRESENTATION (Kambites<MultiView<std::string> >, detail::CongruenceCommon);
949956 DEF_PRESENTATION (Kambites<std::string>, detail::CongruenceCommon);
950957
951958 DEF_PRESENTATION (KnuthBendixStringRewriteTrie,
@@ -1017,7 +1024,7 @@ triggers a full enumeration of *{var}*.
10171024 DEF_PARTITION (ToddCoxeter<std::string>);
10181025
10191026 DEF_PARTITION (Kambites<word_type>);
1020- DEF_PARTITION (Kambites<MultiStringView >);
1027+ DEF_PARTITION (Kambites<MultiView<std::string> >);
10211028 DEF_PARTITION (Kambites<std::string>);
10221029
10231030 DEF_PARTITION (KnuthBendixStringRewriteTrie);
@@ -1084,7 +1091,7 @@ instance *{var}*.
10841091 DEF_NON_TRIVIAL_CLASSES (ToddCoxeter<std::string>);
10851092
10861093 DEF_NON_TRIVIAL_CLASSES (Kambites<word_type>);
1087- DEF_NON_TRIVIAL_CLASSES (Kambites<MultiStringView >);
1094+ DEF_NON_TRIVIAL_CLASSES (Kambites<MultiView<std::string> >);
10881095 DEF_NON_TRIVIAL_CLASSES (Kambites<std::string>);
10891096
10901097 DEF_NON_TRIVIAL_CLASSES (KnuthBendixStringRewriteTrie);
@@ -1147,7 +1154,7 @@ the congruence represented by an instance of :any:`{name}`.
11471154 DEF_NORMAL_FORMS (ToddCoxeter<std::string>);
11481155
11491156 DEF_NORMAL_FORMS (Kambites<word_type>);
1150- DEF_NORMAL_FORMS (Kambites<MultiStringView >);
1157+ DEF_NORMAL_FORMS (Kambites<MultiView<std::string> >);
11511158 DEF_NORMAL_FORMS (Kambites<std::string>);
11521159
11531160 DEF_NORMAL_FORMS (KnuthBendixStringRewriteTrie);
0 commit comments