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/lang/features/LanguageGrammarFeatures_GrammarCategory.hpp>
8#include <inflection/Object.hpp>
9#include <string>
10#include <map>
11
20 : public virtual ::inflection::Object
21{
22public:
24 typedef ::inflection::Object super;
26
27private:
28 std::u16string value { };
29 std::map<std::u16string, std::u16string> constraints { };
30
31public:
35 virtual std::u16string getValue() const;
39 virtual std::map<std::u16string, std::u16string> getConstraints() const;
40
41public: /* package */
49 LanguageGrammarFeatures_Feature(const std::u16string& value, const std::map<std::u16string, std::u16string>& constraints);
54
55private:
56 friend class LanguageGrammarFeatures;
59};
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