Mantis App v0.1.13
Loading...
Searching...
No Matches
mantis::ExprEvaluator Struct Reference

Struct instance for handling evaluation of database access rules. More...

#include <expr_evaluator.h>

Public Member Functions

 ExprEvaluator ()=default
 
auto evaluate (const std::string &expr, const TokenMap &vars) -> bool
 Evaluates a given expression in a context of the given TokenMap variables.
 
auto evaluate (const std::string &expr, const json &vars) -> bool
 Evaluates a given expression in a context of the given JSON object variables.
 
auto jsonToTokenMap (const json &j) -> TokenMap
 Convert a given JSON Object to the equivalent TokenMap so that we can pass it to the evaluator.
 

Public Attributes

const std::string __class_name__ = "mantis::ExprEvaluator"
 

Detailed Description

Struct instance for handling evaluation of database access rules.

Constructor & Destructor Documentation

◆ ExprEvaluator()

mantis::ExprEvaluator::ExprEvaluator ( )
default

Member Function Documentation

◆ evaluate() [1/2]

bool mantis::ExprEvaluator::evaluate ( const std::string &  expr,
const json vars 
) -> bool

Evaluates a given expression in a context of the given JSON object variables.

Parameters
exprAccess rule expression.
varsParameter variables as JSON.
Returns
True or False

◆ evaluate() [2/2]

bool mantis::ExprEvaluator::evaluate ( const std::string &  expr,
const TokenMap &  vars 
) -> bool

Evaluates a given expression in a context of the given TokenMap variables.

Parameters
exprAccess rule expression
varsParameter tokens
Returns
True or False

◆ jsonToTokenMap()

TokenMap mantis::ExprEvaluator::jsonToTokenMap ( const json j) -> TokenMap

Convert a given JSON Object to the equivalent TokenMap so that we can pass it to the evaluator.

Parameters
jJSON Object
Returns
TokenMap equivalent of the JSON Object

Member Data Documentation

◆ __class_name__

const std::string mantis::ExprEvaluator::__class_name__ = "mantis::ExprEvaluator"

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