LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
Lima::LinguisticProcessing::SyntacticAnalysis::EnforcePropertiesConstraints Class Reference

This constraint modifies the both arguments DicoWords to keep only properties with compatible values given by the complement. More...

#include <linguisticProcessing/core/SyntacticAnalysis/HomoSyntagmaticConstraints.h>

Inheritance diagram for Lima::LinguisticProcessing::SyntacticAnalysis::EnforcePropertiesConstraints:
Lima::LinguisticProcessing::Automaton::ConstraintFunction

Public Member Functions

 EnforcePropertiesConstraints (MediaId language, const LimaString &complement=LimaString())
 
 ~EnforcePropertiesConstraints ()
 
bool operator() (const LinguisticAnalysisStructure::AnalysisGraph &graph, const LinguisticGraphVertex &v1, const LinguisticGraphVertex &v2, AnalysisContent &analysis) const override
 binary constraint function : the constraint only applies on two vertices in the graph (the graph is also given as a parameter).
 
- Public Member Functions inherited from Lima::LinguisticProcessing::Automaton::ConstraintFunction
virtual ~ConstraintFunction ()
 
virtual bool operator() (const LinguisticAnalysisStructure::AnalysisGraph &, const LinguisticGraphVertex &, AnalysisContent &) const
 unary constraint function : the constraint only applies on one vertices in the graph (the graph is also given as a parameter).
 
virtual bool operator() (AnalysisContent &) const
 zero-ary constraint function : applies the function without a vertex indication (used for actions, not constraints -> applied only at end, when a match is found)
 
virtual bool operator() (RecognizerMatch &, AnalysisContent &) const
 zero-ary constraint function : applies the function without a vertex indication (used for actions, not constraints -> applied only at end, when a match is found: uses the result of the match
 
virtual bool actionNeedsRecognizedExpression ()
 
const LimaString & getComplementString ()
 
unsigned char getLanguage ()
 

Additional Inherited Members

- Protected Member Functions inherited from Lima::LinguisticProcessing::Automaton::ConstraintFunction
 ConstraintFunction (MediaId language, const LimaString &complement=LimaString())
 
- Protected Attributes inherited from Lima::LinguisticProcessing::Automaton::ConstraintFunction
MediaId m_language_id
 
LimaString m_complement
 

Detailed Description

This constraint modifies the both arguments DicoWords to keep only properties with compatible values given by the complement.

For example, if the complement is "GENDER,NUMBER", the first argument is masculine or feminine and singular and the second argument is masculine and singular or plural, then, after the application of the constraints, both arguments will be only masculine and singular.

Definition at line 408 of file HomoSyntagmaticConstraints.h.

Constructor & Destructor Documentation

◆ EnforcePropertiesConstraints()

Lima::LinguisticProcessing::SyntacticAnalysis::EnforcePropertiesConstraints::EnforcePropertiesConstraints ( MediaId  language,
const LimaString &  complement = LimaString() 
)
explicit

Definition at line 1270 of file HomoSyntagmaticConstraints.cpp.

◆ ~EnforcePropertiesConstraints()

Lima::LinguisticProcessing::SyntacticAnalysis::EnforcePropertiesConstraints::~EnforcePropertiesConstraints ( )
inline

Definition at line 413 of file HomoSyntagmaticConstraints.h.

Member Function Documentation

◆ operator()()

bool Lima::LinguisticProcessing::SyntacticAnalysis::EnforcePropertiesConstraints::operator() ( const LinguisticAnalysisStructure::AnalysisGraph &  ,
const LinguisticGraphVertex &  ,
const LinguisticGraphVertex &  ,
AnalysisContent &   
) const
overridevirtual

binary constraint function : the constraint only applies on two vertices in the graph (the graph is also given as a parameter).

Function is not pure virtual because it can be unary or binary.

Returns
true if the constraint is verified, false otherwise

Reimplemented from Lima::LinguisticProcessing::Automaton::ConstraintFunction.

Definition at line 1301 of file HomoSyntagmaticConstraints.cpp.


The documentation for this class was generated from the following files: