Inflection
Morphology Inflection
|
Abstract base class of SpeakableConcept with inflectable constraints. More...
#include <SemanticFeatureConceptBase.hpp>
Public Member Functions | |
virtual const SemanticFeatureModel * | getModel () const |
virtual const ::std::u16string * | getConstraint (const SemanticFeature &feature) const |
virtual bool | hasConstraint (const SemanticFeature &feature) const |
virtual void | putConstraint (const SemanticFeature &feature, ::std::u16string_view featureValue) |
virtual void | putConstraintByName (::std::u16string_view featureName, ::std::u16string_view featureValue) |
virtual void | clearConstraint (const SemanticFeature &feature) |
virtual void | clearConstraintByName (::std::u16string_view featureName) |
virtual bool | isExists () const =0 |
virtual void | reset () |
virtual SpeakableString * | getFeatureValue (const SemanticFeature &feature) const =0 |
virtual SpeakableString * | getFeatureValueByName (::std::u16string_view featureName) const |
virtual SemanticFeatureConceptBase * | clone () const =0 |
SemanticFeatureConceptBase (const SemanticFeatureModel *model) | |
SemanticFeatureConceptBase (const SemanticFeatureConceptBase &other) | |
~SemanticFeatureConceptBase () override | |
![]() | |
virtual SpeakableString * | toSpeakableString () const =0 |
~SpeakableConcept () override | |
![]() | |
virtual ::std::u16string | toString () const |
virtual | ~Object () |
Protected Member Functions | |
virtual const SemanticFeature * | getSpeakFeature () const |
Protected Attributes | |
::std::map< SemanticFeature, ::std::u16string > | constraints { } |
Abstract base class of SpeakableConcept with inflectable constraints.
This abstract base class allows a SemanticFeatureConcept to be constrained with the possible semantic features and format to a value to display/speak. A SemanticFeature could be grammatical gender, grammatical number, grammatical number or other relevant semantic feature.
Definition at line 19 of file SemanticFeatureConceptBase.hpp.
|
explicit |
This constructor for the abstract class should be called by the subclasses.
model | The SemanticFeatureModel that provides all of the features, valid constraints, default functions and other relevant information for a given language. |
inflection::dialog::SemanticFeatureConceptBase::SemanticFeatureConceptBase | ( | const SemanticFeatureConceptBase & | other | ) |
Copy constructor
|
override |
Destructor
|
virtual |
Clear the specified semantic constraint feature.
feature | The semantic feature of the constraint to be cleared. |
Reimplemented in inflection::dialog::SemanticConceptList.
|
virtual |
Clear the specified semantic constraint feature by the given feature name.
featureName | The name of the constraint to be cleared. |
|
pure virtual |
Return a clone of this object with a deep copy of the constraints.
Implemented in inflection::dialog::InflectableStringConcept, inflection::dialog::PronounConcept, inflection::dialog::SemanticConcept, and inflection::dialog::SemanticConceptList.
|
virtual |
Get the value of the semantic feature.
feature | The semantic feature object. |
|
pure virtual |
Returns the String value of the specified feature for this concept, given its current constraints
Implemented in inflection::dialog::InflectableStringConcept, inflection::dialog::PronounConcept, inflection::dialog::SemanticConcept, and inflection::dialog::SemanticConceptList.
|
virtual |
Returns the String value of the specified feature for this concept, given its current constraints. The featureName will be automatically converted to a SemanticFeature for lookup.
|
virtual |
Returns the SemanticFeatureModel used to create this string.
|
protectedvirtual |
The semantic feature for the spoken form of a string.
|
virtual |
Check if the semantic feature has been added as a constraint.
feature | The semantic feature object. |
|
pure virtual |
Returns true
if a value exists for the given constraints
Implemented in inflection::dialog::InflectableStringConcept, inflection::dialog::PronounConcept, inflection::dialog::SemanticConcept, and inflection::dialog::SemanticConceptList.
|
virtual |
Add a semantic feature with a value as a constraint.
feature | The semantic feature object of the constraint to be added. |
featureValue | The value of the feature. |
Reimplemented in inflection::dialog::SemanticConceptList.
|
virtual |
Add a semantic feature with a value as a constraint by the name of the SemanticFeature.
featureName | The name of the feature. |
featureValue | The value of the feature. |
|
virtual |
Clear all constraints imposed on this SemanticFeatureConcept.
Reimplemented in inflection::dialog::SemanticConceptList.
|
protected |
All the constraints
Definition at line 33 of file SemanticFeatureConceptBase.hpp.