LuciadCPillar 2023.1.04
luciad::FeatureExpressionEvaluator Class Referenceabstract

Evaluator for a Feature. More...

#include <luciad/models/features/FeatureExpressionEvaluator.h>

Public Member Functions

virtual ~FeatureExpressionEvaluator ()=default
 
virtual std::optional< ExpressionValueapply (const Feature &feature)=0
 Evaluates an expression for the given feature. More...
 

Static Public Member Functions

static bool accept (const Feature &feature, const std::shared_ptr< FeatureExpressionEvaluator > &featureExpressionEvaluator)
 Convenience method to evaluate whether a feature meets a condition. More...
 

Detailed Description

Evaluator for a Feature.

Constructor & Destructor Documentation

◆ ~FeatureExpressionEvaluator()

virtual luciad::FeatureExpressionEvaluator::~FeatureExpressionEvaluator ( )
virtualdefault

Member Function Documentation

◆ accept()

static bool luciad::FeatureExpressionEvaluator::accept ( const Feature feature,
const std::shared_ptr< FeatureExpressionEvaluator > &  featureExpressionEvaluator 
)
static

Convenience method to evaluate whether a feature meets a condition.

When the evaluator does not return a boolean value this method returns false.

Parameters
featurethe feature to evaluate.
featureExpressionEvaluatorthe expression evaluator.
Returns
true whether the condition is met, false otherwise.

◆ apply()

virtual std::optional< ExpressionValue > luciad::FeatureExpressionEvaluator::apply ( const Feature feature)
pure virtual

Evaluates an expression for the given feature.

Parameters
featurethe feature to evaluate.
Returns
the value that is the result of evaluating the expression for the given feature.