g4tools  5.4.0
ival_func
Go to the documentation of this file.
1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
2 // See the file tools.license for terms.
3 
4 #ifndef tools_ival_func
5 #define tools_ival_func
6 
7 #include "value"
8 
9 namespace tools {
10 
11 class ival_func {
12 public:
13  virtual ~ival_func() {}
14 public:
15  virtual void* cast(const std::string&) const = 0;
16 public:
17  virtual const std::string& name() const = 0;
18  virtual size_t number_of_arguments() const = 0;
19  typedef std::vector<value> args;
20  virtual bool eval(const args&,value&,std::string&) = 0;
21  virtual ival_func* copy() const = 0;
22 };
23 
24 }
25 
26 #endif
27 
28 
29 
tools::value
Definition: value:18
tools::ival_func
Definition: ival_func:11
tools::ival_func::copy
virtual ival_func * copy() const =0
tools::ival_func::number_of_arguments
virtual size_t number_of_arguments() const =0
tools::ival_func::args
std::vector< value > args
Definition: ival_func:19
tools
inlined C code : ///////////////////////////////////
Definition: aida_ntuple:26
tools::ival_func::eval
virtual bool eval(const args &, value &, std::string &)=0
value
tools::ival_func::~ival_func
virtual ~ival_func()
Definition: ival_func:13
tools::ival_func::name
virtual const std::string & name() const =0
tools::ival_func::cast
virtual void * cast(const std::string &) const =0