41 typedef std::map<std::u16string_view, std::u16string_view> ConstraintData;
42 typedef std::pair<std::u16string_view, ConstraintData> PronounEntry;
43 struct DefaultPronounData;
46 std::shared_ptr<PronounData> pronounData;
47 ::std::map<std::u16string, ::std::u16string> defaultConstraints { };
48 int32_t defaultPronounIndex { -1 };
51 static std::shared_ptr<PronounConcept::DefaultPronounData> createPronounDataForModel(
const SemanticFeatureModel& model,
const char16_t*
const readerCharArray);
52 static std::shared_ptr<PronounConcept::DefaultPronounData> getPronounData(
const SemanticFeatureModel& model);
53 static std::optional<::std::u16string_view> getFeatureValueForPronoun(
const PronounConcept::ConstraintData &constraintData,
const SemanticFeature& feature);
54 bool isMatchingSoundProperty(const ::std::u16string& displayValue, std::u16string_view matchType)
const;
55 bool isMatchingInitialPronoun()
const;
56 static MatchState getMatchState(
const PronounConcept::ConstraintData& valueConstraintMap,
const std::u16string& semanticName,
const std::u16string& semanticValue);
113 PronounConcept(
const SemanticFeatureModel& model, const ::std::vector<::inflection::dialog::DisplayValue>& defaultDisplayData, const ::std::map<SemanticFeature, ::std::u16string>& defaultConstraints);
149 static std::map<std::u16string, std::shared_ptr<PronounConcept::DefaultPronounData>>* PRONOUN_DATA_CACHE();