Inflection
Morphology Inflection
Loading...
Searching...
No Matches
LanguageGrammarFeatures_Feature.hpp
1/*
2 * Copyright 2016-2024 Apple Inc. All rights reserved.
3 */
4#pragma once
5
6#include <inflection/lang/features/fwd.hpp>
7#include <inflection/Object.hpp>
8#include <string>
9#include <map>
10
19 : public virtual ::inflection::Object
20{
21public:
23 typedef ::inflection::Object super;
25
26private:
27 std::u16string value { };
28 std::map<std::u16string, std::u16string> constraints { };
29
30public:
34 virtual std::u16string getValue() const;
38 virtual std::map<std::u16string, std::u16string> getConstraints() const;
39
40public: /* package */
48 LanguageGrammarFeatures_Feature(const std::u16string& value, const std::map<std::u16string, std::u16string>& constraints);
53
54private:
55 friend class LanguageGrammarFeatures;
58};
Inflection's root object.
Definition Object.hpp:14
A single feature value with a set of constraints for when the value is valid.
LanguageGrammarFeatures_Feature(const std::u16string &value, const std::map< std::u16string, std::u16string > &constraints)
virtual std::map< std::u16string, std::u16string > getConstraints() const
This class provides information about semantic features and grammatical categories used for the class...
The C++ namespace for Inflection.
Definition fwd.hpp:11