/** * A NULL pointer is not an error (except for arg): it is simply IGNORED. * For instance, * diet_scalar_get(arg, &value, NULL), * will only set the value to the value field of the (*arg) structure. * * NB: these are macros that let the user not worry about casting (int **) * or (double **) etc. into (void **). */ /** * Type: int diet_scalar_get((diet_arg_t *), (void *), * (diet_persistence_mode_t *)) */ #define diet_scalar_get(arg, value, mode) \ _scalar_get(arg, (void *)value, mode) /** * Type: int diet_vector_get((diet_arg_t *), (void **), * (diet_persistence_mode_t *), (size_t *)) */ #define diet_vector_get(arg, value, mode, size) \ _vector_get(arg, (void **)value, mode, size) /** * Type: int diet_matrix_get((diet_arg_t *), (void **), * (diet_persistence_mode_t *), * (size_t *), (size_t *), (diet_matrix_order_t *)) */ #define diet_matrix_get(arg, value, mode, nb_rows, nb_cols, order) \ _matrix_get(arg, (void **)value, mode, nb_rows, nb_cols, order) /** * Type: int diet_string_get((diet_arg_t *), (char **), * (diet_persistence_mode_t *)) */ #define diet_string_get(arg, value, mode) \ _string_get(arg, (char **)value, mode) /** * Type: int diet_file_get((diet_arg_t *), * (diet_persistence_mode_t *), (size_t *), (char **)) */ #define diet_file_get(arg, mode, size, path) \ _file_get(arg, mode, size, (char **)path)