eccodes
|
Data Structures | |
struct | codes_index |
Functions | |
codes_index * | codes_index_new_from_file (codes_context *c, char *filename, const char *keys, int *err) |
Create a new index form a file. More... | |
codes_index * | codes_index_new (codes_context *c, const char *keys, int *err) |
Create a new index based on a set of keys. More... | |
int | codes_index_add_file (grib_index *index, const char *filename) |
Indexes the file given in argument in the index given in argument. More... | |
int | codes_index_get_size (codes_index *index, const char *key, size_t *size) |
Get the number of distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_long (codes_index *index, const char *key, long *values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_double (codes_index *index, const char *key, double *values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_get_string (codes_index *index, const char *key, char **values, size_t *size) |
Get the distinct values of the key in argument contained in the index. More... | |
int | codes_index_select_long (codes_index *index, const char *key, long value) |
Select the message subset with key==value. More... | |
int | codes_index_select_double (codes_index *index, const char *key, double value) |
Select the message subset with key==value. More... | |
int | codes_index_select_string (codes_index *index, const char *key, char *value) |
Select the message subset with key==value. More... | |
codes_handle * | codes_handle_new_from_index (codes_index *index, int *err) |
Create a new handle from an index after having selected the key values. More... | |
void | codes_index_delete (codes_index *index) |
Delete the index. More... | |
The codes_index is the structure giving indexed access to messages in a file.
codes_handle* codes_handle_new_from_index | ( | codes_index * | index, |
int * | err | ||
) |
Create a new handle from an index after having selected the key values.
All the keys belonging to the index must be selected before calling this function. Successive calls to this function will return all the handles compatible with the constraints defined selecting the values of the index keys. When no more handles are available from the index a NULL pointer is returned and the err variable is set to CODES_END_OF_INDEX.
index | : an index created from a file. |
err | : 0 if OK, integer value on error. CODES_END_OF_INDEX when no more handles are contained in the index. |
int codes_index_add_file | ( | grib_index * | index, |
const char * | filename | ||
) |
Indexes the file given in argument in the index given in argument.
index | : index |
filename | : name of the file of messages to be indexed |
void codes_index_delete | ( | codes_index * | index | ) |
Delete the index.
index | : index to be deleted. |
int codes_index_get_double | ( | codes_index * | index, |
const char * | key, | ||
double * | values, | ||
size_t * | size | ||
) |
Get the distinct values of the key in argument contained in the index.
The key must belong to the index. This function is used when the type of the key was explicitly defined as double or when the native type of the key is double.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key for which the values are returned |
values | : array of values. The array must be allocated before entering this function and its size must be enough to contain all the values. |
size | : size of the values array |
int codes_index_get_long | ( | codes_index * | index, |
const char * | key, | ||
long * | values, | ||
size_t * | size | ||
) |
Get the distinct values of the key in argument contained in the index.
The key must belong to the index. This function is used when the type of the key was explicitly defined as long or when the native type of the key is long.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key for which the values are returned |
values | : array of values. The array must be allocated before entering this function and its size must be enough to contain all the values. |
size | : size of the values array |
int codes_index_get_size | ( | codes_index * | index, |
const char * | key, | ||
size_t * | size | ||
) |
Get the number of distinct values of the key in argument contained in the index.
The key must belong to the index.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key for which the number of values is computed |
size | : number of distinct values of the key in the index |
int codes_index_get_string | ( | codes_index * | index, |
const char * | key, | ||
char ** | values, | ||
size_t * | size | ||
) |
Get the distinct values of the key in argument contained in the index.
The key must belong to the index. This function is used when the type of the key was explicitly defined as string or when the native type of the key is string.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key for which the values are returned |
values | : array of values. The array must be allocated before entering this function and its size must be enough to contain all the values. |
size | : size of the values array |
codes_index* codes_index_new | ( | codes_context * | c, |
const char * | keys, | ||
int * | err | ||
) |
Create a new index based on a set of keys.
c | : context (NULL for default context) |
keys | : comma separated list of keys for the index. The type of the key can be explicitly declared appending :l for long, (or alternatively :i) :d for double, :s for string to the key name. If the type is not declared explicitly, the native type is assumed. |
err | : 0 if OK, integer value on error |
codes_index* codes_index_new_from_file | ( | codes_context * | c, |
char * | filename, | ||
const char * | keys, | ||
int * | err | ||
) |
Create a new index form a file.
The file is indexed with the keys in argument.
c | : context (NULL for default context) |
filename | : name of the file of messages to be indexed |
keys | : comma separated list of keys for the index. The type of the key can be explicitly declared appending :l for long, (or alternatively :i) :d for double, :s for string to the key name. If the type is not declared explicitly, the native type is assumed. |
err | : 0 if OK, integer value on error |
int codes_index_select_double | ( | codes_index * | index, |
const char * | key, | ||
double | value | ||
) |
Select the message subset with key==value.
The value is a double. The key must have been created with double type or have double as native type if the type was not explicitly defined in the index creation.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key to be selected |
value | : value of the key to select |
int codes_index_select_long | ( | codes_index * | index, |
const char * | key, | ||
long | value | ||
) |
Select the message subset with key==value.
The value is a long. The key must have been created with long type or have long as native type if the type was not explicitly defined in the index creation.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key to be selected |
value | : value of the key to select |
int codes_index_select_string | ( | codes_index * | index, |
const char * | key, | ||
char * | value | ||
) |
Select the message subset with key==value.
The value is a string. The key must have been created with string type or have string as native type if the type was not explicitly defined in the index creation.
index | : an index created from a file. The index must have been created with the key in argument. |
key | : key to be selected |
value | : value of the key to select |