Clingo
Loading...
Searching...
No Matches
app.h
1#ifndef CLINGO_APP_H
2#define CLINGO_APP_H
3
4#include <clingo/control.h>
5#include <clingo/core.h>
6#include <clingo/solve.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
39
44
46typedef struct clingo_options clingo_options_t;
47
55typedef bool (*clingo_main_function_t)(clingo_control_t *control, clingo_string_t const *files, size_t size,
56 void *data);
57
62typedef bool (*clingo_default_model_printer_t)(void *data);
63
72 void *printer_data, void *data);
73
75typedef struct clingo_application {
76 void (*program_name)(void *data, clingo_string_t *string);
77 void (*version)(void *data, clingo_string_t *string);
80 bool (*register_options)(clingo_options_t *options, void *data);
81 bool (*validate_options)(void *data);
83
93typedef bool (*clingo_option_parser_t)(char const *value, size_t size, void *data);
94
119CLINGO_VISIBILITY_DEFAULT bool clingo_options_add(clingo_options_t *options, char const *group, size_t group_size,
120 char const *option, size_t option_size, char const *description,
121 size_t description_size, clingo_option_parser_t parser, void *data,
122 bool multi, char const *argument, size_t argument_size);
137CLINGO_VISIBILITY_DEFAULT bool clingo_options_add_flag(clingo_options_t *options, char const *group, size_t group_size,
138 char const *option, size_t option_size, char const *description,
139 size_t description_size, bool *target);
140
154CLINGO_VISIBILITY_DEFAULT bool clingo_main(clingo_lib_t *lib, clingo_string_t const *arguments, size_t size,
155 clingo_application_t const *app, void *data, int *code);
156
158
159#ifdef __cplusplus
160}
161#endif
162
163#endif
bool(* clingo_default_model_printer_t)(void *data)
Callback to print a model in default format.
Definition app.h:62
struct clingo_options clingo_options_t
Object to add command-line options.
Definition app.h:46
bool(* clingo_model_printer_t)(clingo_model_t const *model, clingo_default_model_printer_t printer, void *printer_data, void *data)
Callback to customize model printing.
Definition app.h:71
CLINGO_VISIBILITY_DEFAULT bool clingo_options_add_flag(clingo_options_t *options, char const *group, size_t group_size, char const *option, size_t option_size, char const *description, size_t description_size, bool *target)
Add an option that is a simple flag.
CLINGO_VISIBILITY_DEFAULT bool clingo_main(clingo_lib_t *lib, clingo_string_t const *arguments, size_t size, clingo_application_t const *app, void *data, int *code)
Run an application with the given library and arguments.
bool(* clingo_main_function_t)(clingo_control_t *control, clingo_string_t const *files, size_t size, void *data)
Callback to customize clingo main function.
Definition app.h:55
CLINGO_VISIBILITY_DEFAULT bool clingo_options_add(clingo_options_t *options, char const *group, size_t group_size, char const *option, size_t option_size, char const *description, size_t description_size, clingo_option_parser_t parser, void *data, bool multi, char const *argument, size_t argument_size)
Add an option that is processed with a custom parser.
struct clingo_application clingo_application_t
This struct contains a set of functions to customize the clingo application.
bool(* clingo_option_parser_t)(char const *value, size_t size, void *data)
Callback to parse the value of a command-line option.
Definition app.h:93
struct clingo_lib clingo_lib_t
A library object storing global information.
Definition core.h:171
struct clingo_model clingo_model_t
Object representing a model.
Definition model.h:43
This struct contains a set of functions to customize the clingo application.
Definition app.h:75
clingo_model_printer_t print_model
callback to override default model printing
Definition app.h:79
bool(* register_options)(clingo_options_t *options, void *data)
callback to register options
Definition app.h:80
bool(* validate_options)(void *data)
callback validate options
Definition app.h:81
void(* program_name)(void *data, clingo_string_t *string)
callback to obtain program name
Definition app.h:76
clingo_main_function_t main
callback to override clingo's main function
Definition app.h:78
void(* version)(void *data, clingo_string_t *string)
callback to obtain version information
Definition app.h:77
Struct to capture strings that are not null-terminated.
Definition core.h:86