bpf::_bpf_internal_evale namespace

Contents

Enums

enum EEvalExprOperator { EVAL_EXPR_ADD = 0, EVAL_EXPR_SUB, EVAL_EXPR_MUL, EVAL_EXPR_DIV, EVAL_EXPR_MOD, EVAL_EXPR_NONE }
enum EEvalExprCode { EVAL_EXPR_PARENTHESIS = 0, EVAL_EXPR_DIVIDE_ZERO, EVAL_EXPR_MODULO_ZERO, EVAL_EXPR_SYNTHAX_INCORRECT, EVAL_EXPR_INVALID_NUMBER, EVAL_EXPR_SUCCESS }

Functions

template<typename T>
static auto Operation(char const** expr, T& res, bool parenthesis) -> EEvalExprCode
static auto IsOperator(char const expr) -> unsigned char
static void DeleteSpace(char const** expr)
template<typename T>
static auto Calc(T const left, T const right, T& res, EEvalExprOperator const op) -> EEvalExprCode
template<typename T>
auto EvalNbr(const char* expr, char** endptr) -> T
template<>
auto EvalNbr(char const* expr, char** endptr) -> fint
template<>
auto EvalNbr(char const* expr, char** endptr) -> uint32
template<>
auto EvalNbr(char const* expr, char** endptr) -> int64
template<>
auto EvalNbr(char const* expr, char** endptr) -> uint64
template<>
auto EvalNbr(char const* expr, char** endptr) -> float
template<>
auto EvalNbr(char const* expr, char** endptr) -> double
template<typename T>
static auto Number(char const** expr, T& num) -> EEvalExprCode
template<typename T>
static auto Product(char const** expr, T& res) -> EEvalExprCode
template<typename T>
static auto Sum(char const** expr, T& res) -> EEvalExprCode