KiCad PCB EDA Suite
Loading...
Searching...
No Matches
calc_parser::NODE Class Reference

#include <text_eval_parser.h>

Public Member Functions

template<typename Visitor>
RESULT< VALUE > Accept (Visitor &&aVisitor) const
 

Static Public Member Functions

static std::unique_ptr< NODE > CreateText (std::string aText)
 
static std::unique_ptr< NODE > CreateCalc (std::unique_ptr< NODE > aExpr)
 
static std::unique_ptr< NODE > CreateVar (std::string aName)
 
static std::unique_ptr< NODE > CreateNumber (double aValue)
 
static std::unique_ptr< NODE > CreateString (std::string aValue)
 
static std::unique_ptr< NODE > CreateBinOp (std::unique_ptr< NODE > aLeft, char aOp, std::unique_ptr< NODE > aRight)
 
static std::unique_ptr< NODE > CreateFunction (std::string aName, std::vector< std::unique_ptr< NODE > > aArgs)
 
static NODE * CreateTextRaw (std::string aText)
 
static NODE * CreateCalcRaw (NODE *aExpr)
 
static NODE * CreateVarRaw (std::string aName)
 
static NODE * CreateNumberRaw (double aValue)
 
static NODE * CreateStringRaw (std::string aValue)
 
static NODE * CreateBinOpRaw (NODE *aLeft, char aOp, NODE *aRight)
 
static NODE * CreateFunctionRaw (std::string aName, std::vector< std::unique_ptr< NODE > > *aArgs)
 

Public Attributes

NODE_TYPE type
 
std::variant< std::string, double, BIN_OP_DATA, FUNC_DATA > data
 

Detailed Description

Definition at line 245 of file text_eval_parser.h.

Member Function Documentation

◆ Accept()

template<typename Visitor>
RESULT< VALUE > calc_parser::NODE::Accept ( Visitor && aVisitor) const
inline

Definition at line 368 of file text_eval_parser.h.

◆ CreateBinOp()

static std::unique_ptr< NODE > calc_parser::NODE::CreateBinOp ( std::unique_ptr< NODE > aLeft,
char aOp,
std::unique_ptr< NODE > aRight )
inlinestatic

◆ CreateBinOpRaw()

static NODE * calc_parser::NODE::CreateBinOpRaw ( NODE * aLeft,
char aOp,
NODE * aRight )
inlinestatic

Definition at line 349 of file text_eval_parser.h.

References calc_parser::BinOp, data, and type.

◆ CreateCalc()

static std::unique_ptr< NODE > calc_parser::NODE::CreateCalc ( std::unique_ptr< NODE > aExpr)
inlinestatic

Definition at line 260 of file text_eval_parser.h.

References calc_parser::Calc.

Referenced by BOOST_AUTO_TEST_CASE().

◆ CreateCalcRaw()

static NODE * calc_parser::NODE::CreateCalcRaw ( NODE * aExpr)
inlinestatic

Definition at line 317 of file text_eval_parser.h.

References calc_parser::Calc.

◆ CreateFunction()

static std::unique_ptr< NODE > calc_parser::NODE::CreateFunction ( std::string aName,
std::vector< std::unique_ptr< NODE > > aArgs )
inlinestatic

Definition at line 300 of file text_eval_parser.h.

References calc_parser::Function.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ CreateFunctionRaw()

static NODE * calc_parser::NODE::CreateFunctionRaw ( std::string aName,
std::vector< std::unique_ptr< NODE > > * aArgs )
inlinestatic

Definition at line 357 of file text_eval_parser.h.

References data, calc_parser::Function, and type.

◆ CreateNumber()

static std::unique_ptr< NODE > calc_parser::NODE::CreateNumber ( double aValue)
inlinestatic

◆ CreateNumberRaw()

static NODE * calc_parser::NODE::CreateNumberRaw ( double aValue)
inlinestatic

Definition at line 333 of file text_eval_parser.h.

References data, calc_parser::Number, and type.

◆ CreateString()

static std::unique_ptr< NODE > calc_parser::NODE::CreateString ( std::string aValue)
inlinestatic

◆ CreateStringRaw()

static NODE * calc_parser::NODE::CreateStringRaw ( std::string aValue)
inlinestatic

Definition at line 341 of file text_eval_parser.h.

References data, calc_parser::String, and type.

◆ CreateText()

static std::unique_ptr< NODE > calc_parser::NODE::CreateText ( std::string aText)
inlinestatic

Definition at line 252 of file text_eval_parser.h.

References calc_parser::Text.

Referenced by BOOST_AUTO_TEST_CASE().

◆ CreateTextRaw()

static NODE * calc_parser::NODE::CreateTextRaw ( std::string aText)
inlinestatic

Definition at line 309 of file text_eval_parser.h.

References data, calc_parser::Text, and type.

◆ CreateVar()

static std::unique_ptr< NODE > calc_parser::NODE::CreateVar ( std::string aName)
inlinestatic

Definition at line 268 of file text_eval_parser.h.

References calc_parser::Var.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ CreateVarRaw()

static NODE * calc_parser::NODE::CreateVarRaw ( std::string aName)
inlinestatic

Definition at line 325 of file text_eval_parser.h.

References data, type, and calc_parser::Var.

Member Data Documentation

◆ data

std::variant<std::string, double, BIN_OP_DATA, FUNC_DATA> calc_parser::NODE::data

◆ type


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