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

#include <text_eval_parser.h>

Public Member Functions

template<typename Visitor>
auto Accept (Visitor &&aVisitor) const -> Result< Value >
 

Static Public Member Functions

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

Public Attributes

NodeType type
 
std::variant< std::string, double, BIN_OP_DATA, FUNC_DATAdata
 

Detailed Description

Definition at line 220 of file text_eval_parser.h.

Member Function Documentation

◆ Accept()

template<typename Visitor>
auto calc_parser::NODE::Accept ( Visitor && aVisitor) const -> Result<Value>
inline

Definition at line 343 of file text_eval_parser.h.

◆ CreateBinOp()

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

◆ CreateBinOpRaw()

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

Definition at line 324 of file text_eval_parser.h.

References calc_parser::BinOp.

◆ CreateCalc()

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

Definition at line 235 of file text_eval_parser.h.

References calc_parser::Calc.

Referenced by BOOST_AUTO_TEST_CASE().

◆ CreateCalcRaw()

static auto calc_parser::NODE::CreateCalcRaw ( NODE * aExpr) -> NODE*
inlinestatic

Definition at line 292 of file text_eval_parser.h.

References calc_parser::Calc.

◆ CreateFunction()

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

Definition at line 275 of file text_eval_parser.h.

References calc_parser::Function.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ CreateFunctionRaw()

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

Definition at line 332 of file text_eval_parser.h.

References calc_parser::Function.

◆ CreateNumber()

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

◆ CreateNumberRaw()

static auto calc_parser::NODE::CreateNumberRaw ( double aValue) -> NODE*
inlinestatic

Definition at line 308 of file text_eval_parser.h.

References calc_parser::Number.

◆ CreateString()

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

◆ CreateStringRaw()

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

Definition at line 316 of file text_eval_parser.h.

References calc_parser::String.

◆ CreateText()

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

Definition at line 227 of file text_eval_parser.h.

References calc_parser::Text.

Referenced by BOOST_AUTO_TEST_CASE().

◆ CreateTextRaw()

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

Definition at line 284 of file text_eval_parser.h.

References calc_parser::Text.

◆ CreateVar()

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

Definition at line 243 of file text_eval_parser.h.

References calc_parser::Var.

Referenced by BOOST_AUTO_TEST_CASE(), and BOOST_AUTO_TEST_CASE().

◆ CreateVarRaw()

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

Definition at line 300 of file text_eval_parser.h.

References calc_parser::Var.

Member Data Documentation

◆ data

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

Definition at line 224 of file text_eval_parser.h.

◆ type

NodeType calc_parser::NODE::type

Definition at line 223 of file text_eval_parser.h.


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