/** * On the server side, these functions should not be used on arguments, but only * on convertors (see section 5.5). * If mode is DIET_PERSISTENCE_MODE_COUNT, * or if base_type is DIET_BASE_TYPE_COUNT, * or if order is DIET_MATRIX_ORDER_COUNT, * or if size, nb_rows, nb_cols or length is 0, * or if path is NULL, * then the corresponding field is not modified. */ int diet_scalar_set(diet_arg_t* arg, void* value, diet_persistence_mode_t mode, diet_base_type_t base_type); int diet_vector_set(diet_arg_t* arg, void* value, diet_persistence_mode_t mode, diet_base_type_t base_type, size_t size); /* Matrices can be stored by rows or by columns */ typedef enum { DIET_COL_MAJOR = 0, DIET_ROW_MAJOR, DIET_MATRIX_ORDER_COUNT } diet_matrix_order_t; int diet_matrix_set(diet_arg_t* arg, void* value, diet_persistence_mode_t mode, diet_base_type_t base_type, size_t nb_rows, size_t nb_cols, diet_matrix_order_t order); int diet_string_set(diet_arg_t* arg, char* value, diet_persistence_mode_t mode); /* The file size is computed and stocked in a field of arg ! Warning ! The path is not duplicated !!! */ int diet_file_set(diet_arg_t* arg, cont char* path, diet_persistence_mode_t mode);