6#include <inflection/dialog/fwd.hpp>
7#include <inflection/Object.hpp>
34 ::std::u16string name { };
35 ::std::set<::std::u16string> boundedValues { };
64 virtual const ::std::u16string&
getName()
const;
94 SemanticFeature(const ::std::u16string& name,
Type type, const ::std::set<::std::u16string>& boundedValues,
bool aliased);
Inflection's root object.
Represents a single semantic feature.
SemanticFeature(const SemanticFeature &other)
static SemanticFeature * boundedValue(const ::std::u16string &name, const ::std::set<::std::u16string > &values)
SemanticFeature(const ::std::u16string &name, Type type, const ::std::set<::std::u16string > &boundedValues, bool aliased)
bool operator==(const SemanticFeature &other) const
~SemanticFeature() override
static SemanticFeature * noValue(const ::std::u16string &name)
virtual Type getType() const
std::weak_ordering operator<=>(const SemanticFeature &other) const
static SemanticFeature * unboundedValue(const ::std::u16string &name)
virtual const ::std::u16string & getName() const
virtual const ::std::set<::std::u16string > & getBoundedValues() const
virtual bool isAliased() const
The C++ namespace for Inflection.