2022-04-08 18:17:58 +00:00
|
|
|
#ifndef DOMAIN_FUNCTION_SIGNATURE_H
|
|
|
|
#define DOMAIN_FUNCTION_SIGNATURE_H
|
2022-03-31 21:20:41 +00:00
|
|
|
|
|
|
|
#include<functional>
|
|
|
|
#include "value.h"
|
|
|
|
|
|
|
|
namespace domain {
|
|
|
|
|
|
|
|
typedef std::function<bool (std::vector<Value>)> FunctionCallback;
|
|
|
|
|
|
|
|
struct FunctionSignature {
|
|
|
|
std::string name;
|
|
|
|
std::vector<Value::ValueType> params;
|
2022-04-10 12:23:18 +00:00
|
|
|
FunctionCallback callback;
|
2022-03-31 21:20:41 +00:00
|
|
|
|
2022-04-10 12:23:18 +00:00
|
|
|
FunctionSignature(std::string name, std::vector<Value::ValueType> params, FunctionCallback callback): name(name), params(params), callback(callback) {}
|
2022-03-31 21:20:41 +00:00
|
|
|
};
|
|
|
|
|
2022-04-10 12:23:18 +00:00
|
|
|
std::vector<FunctionSignature> getSupportedFunctions();
|
|
|
|
|
2022-03-31 21:20:41 +00:00
|
|
|
} // namespace domain
|
|
|
|
|
|
|
|
#endif // DOMAIN_FUNCTIONSIGNATURE_H
|