39 UDQVarType var_type { UDQVarType::NONE };
42 explicit UDQASTNode(UDQTokenType type_arg);
43 explicit UDQASTNode(
double scalar_value);
45 UDQASTNode(UDQTokenType type_arg,
46 const std::variant<std::string, double>& value_arg,
47 const UDQASTNode& left_arg);
49 UDQASTNode(UDQTokenType type_arg,
50 const std::variant<std::string, double>& value_arg,
51 const UDQASTNode& left,
52 const UDQASTNode& right);
54 UDQASTNode(UDQTokenType type_arg,
55 const std::variant<std::string, double>& value_arg);
57 UDQASTNode(UDQTokenType type_arg,
58 const std::variant<std::string, double>& value_arg,
59 const std::vector<std::string>& selector);
61 static UDQASTNode serializationTestObject();
65 std::set<UDQTokenType> func_tokens()
const;
67 void update_type(
const UDQASTNode& arg);
68 void set_left(
const UDQASTNode& arg);
69 void set_right(
const UDQASTNode& arg);
70 void scale(
double sign_factor);
72 UDQASTNode* get_left()
const;
73 UDQASTNode* get_right()
const;
74 bool operator==(
const UDQASTNode& data)
const;
75 void required_summary(std::unordered_set<std::string>& summary_keys)
const;
84 template <
class Serializer>
99 std::variant<std::string, double> value;
101 std::vector<std::string> selector;
102 std::shared_ptr<UDQASTNode> left;
103 std::shared_ptr<UDQASTNode> right;
107 UDQSet eval_well_expression(
const std::string& string_value,
110 UDQSet eval_group_expression(
const std::string& string_value,
113 UDQSet eval_segment_expression(
const std::string& string_value,
116 UDQSet eval_region_expression(
const std::string& string_value,
119 UDQSet eval_scalar_function(
const UDQVarType target_type,
122 UDQSet eval_elemental_unary_function(
const UDQVarType target_type,
125 UDQSet eval_binary_function(
const UDQVarType target_type,
128 UDQSet eval_number(
const UDQVarType target_type,
131 UDQSet eval_table_lookup(
const UDQVarType target_type,
132 const std::string& string_value,
135 UDQSet eval_table_lookup_field(
const std::string& string_value,
137 UDQSet eval_table_lookup_group(
const std::string& string_value,
139 UDQSet eval_table_lookup_segment(
const std::string& string_value,
141 UDQSet eval_table_lookup_well(
const std::string& string_value,
144 void func_tokens(std::set<UDQTokenType>& tokens)
const;
void requiredObjects(UDQ::RequisiteEvaluationObjects &objects) const
Populate collection of requisite objects needed to evaluate this node.
Definition UDQASTNode.cpp:309
Definition UDQContext.hpp:50
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30