6#ifndef EXPR_EVALUATOR_H
7#define EXPR_EVALUATOR_H
10#include <shunting-yard.h>
11#include <containers.h>
12#include <nlohmann/json.hpp>
18 using cparse::TokenMap;
19 using cparse::calculator;
20 using cparse::packToken;
21 using json = nlohmann::json;
37 auto evaluate(
const std::string& expr,
const TokenMap& vars) -> bool;
46 auto evaluate(
const std::string& expr,
const json& vars) -> bool;
nlohmann::json json
Definition mantis.h:35
router.h
Definition app.h:30
nlohmann::json json
Shorten JSON namespace.
Definition crud.h:14
Struct instance for handling evaluation of database access rules.
Definition expr_evaluator.h:27
const std::string __class_name__
Definition expr_evaluator.h:56
auto evaluate(const std::string &expr, const TokenMap &vars) -> bool
Evaluates a given expression in a context of the given TokenMap variables.
Definition expr_evaluator.cpp:13
auto jsonToTokenMap(const json &j) -> TokenMap
Convert a given JSON Object to the equivalent TokenMap so that we can pass it to the evaluator.
Definition expr_evaluator.cpp:32