Rumba C++ SDK
Expr.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2018
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 #include "Value.h"
18 
19  namespace maquina
20  {
21  class Array;
22 
23  class MAQUINA_EXPORT Expr : public Value
24  {
25  public:
26  Expr();
27 
29 
30  Expr(const Value &v);
31 
32  enum Type
33  {
35  None
36  };
37 
38  Type get_type() const;
39  bool eval_as_string(std::string &result) const;
40 
42  Expr(std::shared_ptr<Impl> impl) { _impl=impl; }
43  };
44 
45 
46  class MAQUINA_EXPORT ExprCall : public Expr
47  {
48  public:
49  ExprCall(const char* function = "");
50  ExprCall(const char* func, const Array& args);
51 
53 
54  ExprCall(const Value &v);
55 
56  void add_argument(const maquina::Value & arg);
57  Array args() const;
58  std::string function() const;
59 
61  ExprCall(std::shared_ptr<Impl> impl) { _impl=impl; }
62  };
63  }
Type
Definition: Expr.h:32
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
An array of values.
Definition: Array.h:26
Definition: Expr.h:34
#define MAQUINA_EXPORT
Definition: Export.h:31
Definition: Expr.h:23
Definition: Expr.h:46
Base class of all Rumba values.
Definition: Value.h:34