6#include <inflection/dialog/fwd.hpp>
7#include <inflection/dialog/SemanticFeature.hpp>
8#include <inflection/dialog/SemanticFeatureModel_DisplayData.hpp>
9#include <inflection/dialog/SemanticValue.hpp>
10#include <inflection/util/ULocale.hpp>
11#include <inflection/Object.hpp>
32 ::std::map<::std::u16string, ::inflection::dialog::SemanticFeature*, std::less<>> featureMap { };
33 ::std::map<::std::u16string, ::std::pair<::inflection::dialog::SemanticFeature*, ::std::u16string>, std::less<>> featuresAliases { };
34 ::std::map<SemanticValue, SemanticFeatureModel_DisplayData> semanticValueMap { };
35 ::std::map<::inflection::dialog::SemanticFeature, DefaultFeatureFunction*> defaultFeatureFunctions { };
37 std::unique_ptr<DefaultDisplayFunction> defaultDisplayFunction;
43 static constexpr auto SPEAK = u
"speak";
66 ::std::pair<::inflection::dialog::SemanticFeature*, ::std::u16string>
getFeatureAlias(::std::u16string_view name)
const;
109 static ::std::vector<::inflection::dialog::SemanticFeature*> createDefaultSemanticFeatures(const ::inflection::util::ULocale& locale);
122 SemanticFeatureModel(const ::inflection::util::ULocale& locale, const ::std::map<SemanticValue, SemanticFeatureModel_DisplayData>& semanticValueMap);
Inflection's root object.
Provides a mapping between constraints and their corresponding SemanticValue.
A semantic model that contains display data for semantic values and provides feature functions for de...
void setDefaultDisplayFunction(DefaultDisplayFunction *defaultDisplayFunction)
const DefaultFeatureFunction * getDefaultFeatureFunction(const SemanticFeature &feature) const
const util::ULocale & getLocale() const
const SemanticFeature * getFeature(::std::u16string_view name) const
void putDefaultFeatureFunction(const SemanticFeature &feature, DefaultFeatureFunction *function)
~SemanticFeatureModel() override
SemanticFeatureModel(const ::inflection::util::ULocale &locale, const ::std::map< SemanticValue, SemanticFeatureModel_DisplayData > &semanticValueMap)
void putDefaultFeatureFunctionByName(::std::u16string_view feature, DefaultFeatureFunction *function)
const SemanticFeatureModel_DisplayData * getDisplayData(const SemanticValue &semantic) const
const DefaultDisplayFunction * getDefaultDisplayFunction() const
::std::pair<::inflection::dialog::SemanticFeature *, ::std::u16string > getFeatureAlias(::std::u16string_view name) const
::std::set< inflection::dialog::SemanticValue > getKnownSemanticValues() const
SemanticFeatureModel(const ::inflection::util::ULocale &locale)
Represents a single semantic feature.
Represents an ontological label with a value.
An object that represents a specific geographical, political, or cultural region.
The C++ namespace for Inflection.