78#define pressio_option_define_type(name, type) \
84 struct pressio_option* pressio_option_new_##name(type value); \
90 type pressio_option_get_##name(struct pressio_option const* option); \
96 void pressio_option_set_##name(struct pressio_option* option, type value);
125 void(*deleter)(
void*,
void*),
126 void(*copy)(
void**,
void**, const
void*, const
void*));
140 void(*deleter)(
void*,
void*),
141 void(*copy)(
void**,
void**, const
void*, const
void*));
189#undef pressio_option_define_type
Compress, decompress, and configure pressio and lossless compressors.
pressio_thread_safety
Definition: pressio_compressor.h:268
pressio_dtype
Definition: pressio_dtype.h:16
void pressio_option_free(struct pressio_option *options)
struct pressio_option * pressio_option_new_userptr_managed(void *value, void *metadata, void(*deleter)(void *, void *), void(*copy)(void **, void **, const void *, const void *))
#define pressio_option_define_type(name, type)
Definition: pressio_option.h:78
enum pressio_options_key_status pressio_option_as_set(struct pressio_option *lhs, struct pressio_option *rhs)
const char ** pressio_option_get_strings(struct pressio_option const *option, size_t *size)
struct pressio_option * pressio_option_convert_implicit(struct pressio_option const *option, enum pressio_option_type type)
char * pressio_option_to_string(struct pressio_option const *option)
void pressio_option_set_type(struct pressio_option *option, enum pressio_option_type type)
void pressio_option_set_data(struct pressio_option *option, struct pressio_data *value)
enum pressio_option_type pressio_option_get_type(struct pressio_option const *option)
struct pressio_option * pressio_option_convert(struct pressio_option const *option, enum pressio_option_type type, enum pressio_conversion_safety safety)
bool pressio_option_has_value(struct pressio_option const *option)
void pressio_option_set_strings(struct pressio_option *option, const char **values, size_t size)
struct pressio_option * pressio_option_new_data(struct pressio_data *data)
struct pressio_data * pressio_option_get_data(struct pressio_option const *option)
enum pressio_options_key_status pressio_option_cast_set(struct pressio_option *lhs, struct pressio_option *rhs, enum pressio_conversion_safety safety)
struct pressio_option * pressio_option_new()
void pressio_option_set_userptr_managed(struct pressio_option *option, void *value, void *metadata, void(*deleter)(void *, void *), void(*copy)(void **, void **, const void *, const void *))
struct pressio_option * pressio_option_new_strings(const char **values, size_t size)
A set of options for a compressor.
pressio_option_type
Definition: pressio_options.h:57
pressio_conversion_safety
Definition: pressio_options.h:39
pressio_options_key_status
Definition: pressio_options.h:27
enum pressio_option_type type() const