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

#include <expression.hpp>

Inheritance diagram for mbgl::style::expression::Expression:
mbgl::style::expression::All mbgl::style::expression::Any mbgl::style::expression::Assertion mbgl::style::expression::At mbgl::style::expression::BasicComparison mbgl::style::expression::Case mbgl::style::expression::Coalesce mbgl::style::expression::Coercion mbgl::style::expression::CollatorComparison mbgl::style::expression::CollatorExpression mbgl::style::expression::CompoundExpression mbgl::style::expression::Distance mbgl::style::expression::Error mbgl::style::expression::FormatExpression mbgl::style::expression::FormatSectionOverride< T > mbgl::style::expression::ImageExpression mbgl::style::expression::In mbgl::style::expression::Interpolate mbgl::style::expression::Length mbgl::style::expression::Let mbgl::style::expression::Literal mbgl::style::expression::Match< T > mbgl::style::expression::NumberFormat mbgl::style::expression::Step mbgl::style::expression::Var mbgl::style::expression::Within

Public Member Functions

 Expression (Kind kind_, type::Type type_)
 
virtual ~Expression ()=default
 
virtual EvaluationResult evaluate (const EvaluationContext &params) const =0
 
virtual void eachChild (const std::function< void(const Expression &)> &) const =0
 
virtual bool operator== (const Expression &) const =0
 
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 std::vector< std::optional< Value > > possibleOutputs () const =0
 
virtual mbgl::Value serialize () const
 
virtual std::string getOperator () const =0
 

Static Protected Member Functions

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 179 of file expression.hpp.

Constructor & Destructor Documentation

◆ Expression()

mbgl::style::expression::Expression::Expression ( Kind  kind_,
type::Type  type_ 
)
inline

Definition at line 181 of file expression.hpp.

◆ ~Expression()

virtual mbgl::style::expression::Expression::~Expression ( )
virtualdefault

Member Function Documentation

◆ childEqual() [1/4]

static bool mbgl::style::expression::Expression::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 
)
inlinestaticprotected

Definition at line 253 of file expression.hpp.

◆ childEqual() [2/4]

template<typename T >
static bool mbgl::style::expression::Expression::childEqual ( const std::pair< T, std::shared_ptr< Expression >> &  lhs,
const std::pair< T, std::shared_ptr< Expression >> &  rhs 
)
inlinestaticprotected

Definition at line 248 of file expression.hpp.

◆ childEqual() [3/4]

template<typename T >
static bool mbgl::style::expression::Expression::childEqual ( const std::pair< T, std::unique_ptr< Expression >> &  lhs,
const std::pair< T, std::unique_ptr< Expression >> &  rhs 
)
inlinestaticprotected

Definition at line 242 of file expression.hpp.

◆ childEqual() [4/4]

static bool mbgl::style::expression::Expression::childEqual ( const std::unique_ptr< Expression > &  lhs,
const std::unique_ptr< Expression > &  rhs 
)
inlinestaticprotected

Definition at line 237 of file expression.hpp.

◆ childrenEqual()

template<typename T >
static bool mbgl::style::expression::Expression::childrenEqual ( const T &  lhs,
const T &  rhs 
)
inlinestaticprotected

Definition at line 226 of file expression.hpp.

◆ eachChild()

◆ evaluate() [1/5]

◆ evaluate() [2/5]

EvaluationResult mbgl::style::expression::Expression::evaluate ( std::optional< float >  zoom,
const Feature feature,
std::optional< double >  colorRampParameter 
) const

◆ evaluate() [3/5]

EvaluationResult mbgl::style::expression::Expression::evaluate ( std::optional< float >  zoom,
const Feature feature,
std::optional< double >  colorRampParameter,
const std::set< std::string > &  availableImages 
) const

◆ evaluate() [4/5]

EvaluationResult mbgl::style::expression::Expression::evaluate ( std::optional< float >  zoom,
const Feature feature,
std::optional< double >  colorRampParameter,
const std::set< std::string > &  availableImages,
const CanonicalTileID canonical 
) const

◆ evaluate() [5/5]

EvaluationResult mbgl::style::expression::Expression::evaluate ( std::optional< mbgl::Value accumulated,
const Feature feature 
) const

◆ getKind()

Kind mbgl::style::expression::Expression::getKind ( ) const
inline

Definition at line 191 of file expression.hpp.

◆ getOperator()

◆ getType()

type::Type mbgl::style::expression::Expression::getType ( ) const
inline

Definition at line 192 of file expression.hpp.

◆ operator!=()

bool mbgl::style::expression::Expression::operator!= ( const Expression rhs) const
inline

Definition at line 187 of file expression.hpp.

◆ operator==()

◆ possibleOutputs()

◆ serialize()


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