21#define wu_reader_next(reader) (((WU_Reader)(reader))->next((WU_Reader)(reader)))
23#define wu_reader_last_error(reader) ((reader)->last_error)
25#define wu_reader_delete(reader) do { \
26 if ((reader) && ((WU_Reader)(reader))->delete) \
27 ((WU_Reader)(reader))->delete((WU_Reader)(reader)); \
30#define WU_CSV_MAX_LINE_SIZE 2048
31#define WU_JSON_MAX_LINE_SIZE 4096
87#define WU_READER(r) ((WU_Reader)(r))
88#define wu_reader_list(...) ((WU_Reader[]){__VA_ARGS__, NULL})
WU_CsvReader wu_csv_reader_new(FILE *file, WU_DataType data_type, WU_TimeUnit time_units, bool has_headers)
#define WU_JSON_MAX_LINE_SIZE
WU_JsonReader wu_json_reader_new(FILE *file, WU_DataType data_type, WU_TimeUnit time_units)
@ WU_JSON_ERROR_MISSING_FIELD
#define WU_CSV_MAX_LINE_SIZE
WU_Candle represents an aggregated data point to represent how prices moved within a specific time pe...
WU_CsvReader is a concrete implementation of the WU_Reader interface that reads data from a CSV file.
union WU_CsvReader_::@275024157131347166202211275356212357011047163065 data
char line_buffer[WU_CSV_MAX_LINE_SIZE]
WU_JsonReader is a concrete implementation of the WU_Reader interface that reads data from a JSON Lin...
union WU_JsonReader_::@145171373046065050065215303372316340344321156061 data
char line_buffer[WU_JSON_MAX_LINE_SIZE]
Base for a reader, which defines the minimal interface for reading the next data point from a data so...
WU_Single represents a single value with a timestamp, which can be a price, an indicator value,...
WU_Trade represents a single trade in the market, including the timestamp, price, volume,...
WU_TimeUnit
WU_TimeUnit represents a unit of time used for time-based calculations such as time-weighted returns ...
WU_DataType
WU_DataType represents the type of input data, which can be a candle, a trade, or a single value.