MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mbgl::style::expression::BasicComparison Class Reference

#include <comparison.hpp>

Inheritance diagram for mbgl::style::expression::BasicComparison:
mbgl::style::expression::Expression

Public Types

using CompareFunctionType = bool(*)(const Value &, const Value &)
 

Public Member Functions

 BasicComparison (std::string op, std::unique_ptr< Expression > lhs, std::unique_ptr< Expression > rhs)
 
void eachChild (const std::function< void(const Expression &)> &visit) const override
 
bool operator== (const Expression &) const override
 
EvaluationResult evaluate (const EvaluationContext &) const override
 
std::vector< std::optional< Value > > possibleOutputs () const override
 
std::string getOperator () const override
 
- Public Member Functions inherited from mbgl::style::expression::Expression
 Expression (Kind kind_, type::Type type_)
 
virtual ~Expression ()=default
 
bool operator!= (const Expression &rhs) const
 
Kind getKind () const
 
type::Type getType () const
 
EvaluationResult evaluate (std::optional< float > zoom, const Feature &feature, std::optional< double > colorRampParameter) const
 
EvaluationResult evaluate (std::optional< float > zoom, const Feature &feature, std::optional< double > colorRampParameter, const std::set< std::string > &availableImages) const
 
EvaluationResult evaluate (std::optional< float > zoom, const Feature &feature, std::optional< double > colorRampParameter, const std::set< std::string > &availableImages, const CanonicalTileID &canonical) const
 
EvaluationResult evaluate (std::optional< mbgl::Value > accumulated, const Feature &feature) const
 
virtual mbgl::Value serialize () const
 

Additional Inherited Members

- Static Protected Member Functions inherited from mbgl::style::expression::Expression
template<typename T >
static bool childrenEqual (const T &lhs, const T &rhs)
 
static bool childEqual (const std::unique_ptr< Expression > &lhs, const std::unique_ptr< Expression > &rhs)
 
template<typename T >
static bool childEqual (const std::pair< T, std::unique_ptr< Expression >> &lhs, const std::pair< T, std::unique_ptr< Expression >> &rhs)
 
template<typename T >
static bool childEqual (const std::pair< T, std::shared_ptr< Expression >> &lhs, const std::pair< T, std::shared_ptr< Expression >> &rhs)
 
static bool childEqual (const std::pair< std::unique_ptr< Expression >, std::unique_ptr< Expression >> &lhs, const std::pair< std::unique_ptr< Expression >, std::unique_ptr< Expression >> &rhs)
 

Detailed Description

Definition at line 16 of file comparison.hpp.

Member Typedef Documentation

◆ CompareFunctionType

Definition at line 18 of file comparison.hpp.

Constructor & Destructor Documentation

◆ BasicComparison()

mbgl::style::expression::BasicComparison::BasicComparison ( std::string  op,
std::unique_ptr< Expression lhs,
std::unique_ptr< Expression rhs 
)

Member Function Documentation

◆ eachChild()

void mbgl::style::expression::BasicComparison::eachChild ( const std::function< void(const Expression &)> &  visit) const
overridevirtual

◆ evaluate()

EvaluationResult mbgl::style::expression::BasicComparison::evaluate ( const EvaluationContext ) const
overridevirtual

◆ getOperator()

std::string mbgl::style::expression::BasicComparison::getOperator ( ) const
overridevirtual

◆ operator==()

bool mbgl::style::expression::BasicComparison::operator== ( const Expression ) const
overridevirtual

◆ possibleOutputs()

std::vector<std::optional<Value> > mbgl::style::expression::BasicComparison::possibleOutputs ( ) const
overridevirtual

Statically analyze the expression, attempting to enumerate possible outputs. Returns an array of values plus the sentinel null optional value, used to indicate that the complete set of outputs is statically undecidable.

Implements mbgl::style::expression::Expression.


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