26#ifndef PDI_EXPRESSION_H_
27#define PDI_EXPRESSION_H_
35#include <pdi/paraconf_wrapper.h>
37#include <pdi/pdi_fwd.h>
43 struct PDI_NO_EXPORT Impl;
45 std::unique_ptr<Impl> m_impl;
161 operator bool ()
const;
Definition: expression.h:42
Ref to_ref(Context &ctx, Datatype_sptr type) const
Evaluates an expression as a data reference.
Expression operator/(const Expression &expr) const
Division operator of an expression.
Expression()
Builds an empty expression.
Expression & operator=(const Expression &expr)
Copies an expression.
static std::pair< Expression, long > parse_reference(const char *reference_str)
Parses a string that starts with $ and represents a reference expression.
Expression operator*(const Expression &expr) const
Multiplication operator of an expression.
Expression & operator=(Expression &&expr)
Moves an expression.
double to_double(Context &ctx) const
Evaluates an expression as a float.
std::string to_string(Context &ctx) const
Evaluates an expression as a string.
Expression(long expr)
Builds an expression that represents an integer.
Expression(const std::string &expr)
Builds (i.e.
Expression(const char *expr)
Builds (i.e.
Expression operator%(const Expression &expr) const
Modulo operator of an expression.
Expression(double expr)
Builds an expression that represents a float.
Expression operator+(const Expression &expr) const
Summation operator of an expression.
Expression(Expression &&expr)
Moves an expression.
long to_long(Context &ctx) const
Evaluates an expression as an integer.
~Expression()
Destroys an expression.
Expression(const Expression &expr)
Copies an expression.
Expression(PC_tree_t expr)
Builds an expression that is parsed from PC_tree_t.
Ref to_ref(Context &ctx) const
Evaluates an expression as a data reference.
Expression operator-(const Expression &expr) const
Subtraction operator of an expression.
A dynamically typed reference to data with automatic memory management and read/write locking semanti...
Definition: ref_any.h:273
Definition: array_datatype.h:38
std::shared_ptr< const Datatype > Datatype_sptr
Definition: pdi_fwd.h:78