53 return std::strong_ordering::equal;
80 template <
typename Base >
84template <
typename Base >
86 if constexpr ( std::is_integral_v < Base > ) {
88 }
else if constexpr ( std::is_same_v < Base, std::string > ) {
89 return std::string (
"final" );
90 }
else if constexpr ( std::is_same_v < Base, FinalStateLabel > ) {
92 }
else if constexpr ( std::is_same_v < Base, object::Object > ) {
95 static_assert ( std::is_same_v < Base, Base >,
"Unsupported type of instance" );
Represents label of the final state of an automaton.
Definition: FinalStateLabel.h:37
std::strong_ordering operator<=>(const FinalStateLabel &) const
Definition: FinalStateLabel.h:52
FinalStateLabel()
Creates a new instance of the label.
bool operator==(const FinalStateLabel &) const
Definition: FinalStateLabel.h:63
friend ext::ostream & operator<<(ext::ostream &out, const FinalStateLabel &instance)
Definition: FinalStateLabel.cpp:16
static Base instance()
Factory for the label construction of the label based on given type.
Definition: FinalStateLabel.h:85
constexpr const T & max(const T &a)
Root case of maximum computation. The maximum from one value is the value itself.
Definition: algorithm.hpp:278
Definition: FailStateLabel.cpp:12