Expressionist
Header-only C++20 evaluator of algebraic expressions embedded in JSON fields
Loading...
Searching...
No Matches
expressionist_c.h
Go to the documentation of this file.
1
37#ifndef EXPRESSIONIST_C_H
38#define EXPRESSIONIST_C_H
39
40#if defined(_WIN32) || defined(__CYGWIN__)
41# ifdef EXPRESSIONIST_C_BUILDING
42# define EXPRESSIONIST_C_API __declspec(dllexport)
43# else
44# define EXPRESSIONIST_C_API __declspec(dllimport)
45# endif
46#else
47# define EXPRESSIONIST_C_API __attribute__((visibility("default")))
48#endif
49
50#ifdef __cplusplus
51extern "C" {
52#endif
53
59
65
69EXPRESSIONIST_C_API ExpressionistHandle *expressionist_create(void);
70
72EXPRESSIONIST_C_API void expressionist_destroy(ExpressionistHandle *handle);
73
77EXPRESSIONIST_C_API void expressionist_set_tag(ExpressionistHandle *handle,
78 const char *tag);
79
83EXPRESSIONIST_C_API void
85
89EXPRESSIONIST_C_API void
91
106EXPRESSIONIST_C_API int expressionist_evaluate(ExpressionistHandle *handle,
107 const char *json_in,
108 char **out_json,
109 char **out_error);
110
113EXPRESSIONIST_C_API void expressionist_free_string(char *s);
114
117EXPRESSIONIST_C_API const char *expressionist_version(void);
118
119#ifdef __cplusplus
120}
121#endif
122
123#endif /* EXPRESSIONIST_C_H */
struct ExpressionistHandle ExpressionistHandle
Definition expressionist_c.h:58
EXPRESSIONIST_C_API ExpressionistHandle * expressionist_create(void)
EXPRESSIONIST_C_API void expressionist_free_string(char *s)
EXPRESSIONIST_C_API void expressionist_set_eval_method(ExpressionistHandle *handle, int method)
ExpressionistCMethod
Definition expressionist_c.h:61
@ EXPRESSIONIST_C_GRAPH
Definition expressionist_c.h:62
@ EXPRESSIONIST_C_RECURSIVE
Definition expressionist_c.h:63
EXPRESSIONIST_C_API void expressionist_set_disable_key(ExpressionistHandle *handle, const char *key)
EXPRESSIONIST_C_API int expressionist_evaluate(ExpressionistHandle *handle, const char *json_in, char **out_json, char **out_error)
EXPRESSIONIST_C_API void expressionist_set_tag(ExpressionistHandle *handle, const char *tag)
EXPRESSIONIST_C_API const char * expressionist_version(void)
EXPRESSIONIST_C_API void expressionist_destroy(ExpressionistHandle *handle)