Inflection
Morphology Inflection
Loading...
Searching...
No Matches
CommonConceptFactory.hpp
1/*
2 * Copyright 2017-2024 Apple Inc. All rights reserved.
3 */
4#pragma once
5
6#include <inflection/util/fwd.hpp>
7#include <inflection/dialog/fwd.hpp>
8#include <inflection/Object.hpp>
9#include <vector>
10
31class INFLECTION_CLASS_API inflection::dialog::CommonConceptFactory
32 : public virtual ::inflection::Object
33{
34public:
36 typedef ::inflection::Object super;
38
39public:
46
52 virtual const ::inflection::util::ULocale& getLanguage() const = 0;
53
62 virtual InflectableStringConcept* createConcept(const ::inflection::dialog::SpeakableString& string) const = 0;
63
78 virtual SemanticConceptList* createOrList(const ::std::vector<const ::inflection::dialog::SemanticFeatureConceptBase*>& concepts) const = 0;
79
94 virtual SemanticConceptList* createOrList(const ::std::vector<::inflection::dialog::SemanticFeatureConceptBase*>& concepts) const = 0;
95
110 virtual SemanticConceptList* createAndList(const ::std::vector<const ::inflection::dialog::SemanticFeatureConceptBase*>& concepts) const = 0;
111
126 virtual SemanticConceptList* createAndList(const ::std::vector<::inflection::dialog::SemanticFeatureConceptBase*>& concepts) const = 0;
127
137 virtual NumberConcept* number(const ::inflection::util::ULocale& regionFormatLocale, int64_t number) const = 0;
138
149 virtual NumberConcept* number(const ::inflection::util::ULocale& regionFormatLocale, double number) const = 0;
150
160 virtual SpeakableString quote(const ::inflection::dialog::SpeakableString& str) const = 0;
161
183 virtual SpeakableString* quantify(const NumberConcept& number, const ::inflection::dialog::SemanticFeatureConceptBase* semanticConcept) const = 0;
184
196 virtual SpeakableString* quantifyFormatted(const NumberConcept& number, const ::inflection::dialog::SpeakableString& formattedNumber, const ::inflection::dialog::SemanticFeatureConceptBase* semanticConcept) const = 0;
197
204};
Inflection's root object.
Definition Object.hpp:14
Facilitates the creation of Concepts
virtual NumberConcept * number(const ::inflection::util::ULocale &regionFormatLocale, int64_t number) const =0
virtual SpeakableString quote(const ::inflection::dialog::SpeakableString &str) const =0
virtual SpeakableString * quantifyFormatted(const NumberConcept &number, const ::inflection::dialog::SpeakableString &formattedNumber, const ::inflection::dialog::SemanticFeatureConceptBase *semanticConcept) const =0
virtual SemanticConceptList * createAndList(const ::std::vector<::inflection::dialog::SemanticFeatureConceptBase * > &concepts) const =0
virtual InflectableStringConcept * createConcept(const ::inflection::dialog::SpeakableString &string) const =0
virtual const SemanticFeatureModel * getSemanticFeatureModel() const =0
virtual const ::inflection::util::ULocale & getLanguage() const =0
virtual SpeakableString * quantify(const NumberConcept &number, const ::inflection::dialog::SemanticFeatureConceptBase *semanticConcept) const =0
virtual SemanticConceptList * createOrList(const ::std::vector<::inflection::dialog::SemanticFeatureConceptBase * > &concepts) const =0
virtual SemanticConceptList * createAndList(const ::std::vector< const ::inflection::dialog::SemanticFeatureConceptBase * > &concepts) const =0
virtual NumberConcept * number(const ::inflection::util::ULocale &regionFormatLocale, double number) const =0
virtual SemanticConceptList * createOrList(const ::std::vector< const ::inflection::dialog::SemanticFeatureConceptBase * > &concepts) const =0
Provides a way to format a word with additional grammatical category values or semantic features of a...
Provides representation of numerics as lexical tokens, such as ordinals or cardinals.
Formats a list of SemanticFeatureConceptBase objects with context sensitive semantic features.
A semantic model that contains display data for semantic values and provides feature functions for de...
Represents a string with both a spoken and written representation.
The C++ namespace for Inflection.
Definition fwd.hpp:11