Common Pipeline Library Reference 7.3.2
|
Functions | |
const char * | cpl_type_get_name (cpl_type type) |
Get a string with the name of a type, e.g. "char", "int", "float". | |
size_t | cpl_type_get_sizeof (cpl_type type) |
Compute the size of a type. | |
enum | _cpl_type_ { CPL_TYPE_FLAG_ARRAY , CPL_TYPE_INVALID , CPL_TYPE_CHAR , CPL_TYPE_UCHAR , CPL_TYPE_BOOL , CPL_TYPE_SHORT , CPL_TYPE_USHORT , CPL_TYPE_INT , CPL_TYPE_UINT , CPL_TYPE_LONG , CPL_TYPE_ULONG , CPL_TYPE_LONG_LONG , CPL_TYPE_SIZE , CPL_TYPE_FLOAT , CPL_TYPE_DOUBLE , CPL_TYPE_POINTER , CPL_TYPE_COMPLEX , CPL_TYPE_UNSPECIFIED , CPL_TYPE_BITMASK , CPL_TYPE_STRING , CPL_TYPE_FLOAT_COMPLEX , CPL_TYPE_DOUBLE_COMPLEX } |
The CPL type codes and flags. More... | |
typedef enum _cpl_type_ | cpl_type |
The type code type. | |
typedef long long | cpl_size |
The type used for sizes and indices in CPL. | |
typedef uint64_t | cpl_bitmask |
The CPL bitmask type for bitmask operations. | |
#define | CPL_SIZE_MIN |
Minimum value a variable of type cpl_size can hold. | |
#define | CPL_SIZE_MAX |
Maximum value a variable of type cpl_size can hold. | |
#define | CPL_SIZE_FORMAT |
The format specifier for the type cpl_size. | |
This module provides codes for the basic types (including char
, int
, float
, etc.) used in CPL. These type codes may be used to indicate the type of a value stored in another object, the value of a property or the pixel of an image for instance. In addition, a utility function is provided to compute the size, which is required to store a value of the type indicated by a given type code.
The module
#define CPL_SIZE_FORMAT |
The format specifier for the type cpl_size.
long
int and "d" when it is an int
It can be used like this:
#define CPL_SIZE_MAX |
Maximum value a variable of type cpl_size can hold.
#define CPL_SIZE_MIN |
Minimum value a variable of type cpl_size can hold.
typedef uint64_t cpl_bitmask |
The CPL bitmask type for bitmask operations.
static cpl_image cpl_size |
The type used for sizes and indices in CPL.
typedef enum _cpl_type_ cpl_type |
The type code type.
enum _cpl_type_ |
The CPL type codes and flags.
const char * cpl_type_get_name | ( | cpl_type | type | ) |
Get a string with the name of a type, e.g. "char", "int", "float".
type | Type code to be evaluated. |
References CPL_ERROR_INVALID_TYPE, CPL_TYPE_BOOL, CPL_TYPE_CHAR, CPL_TYPE_DOUBLE, CPL_TYPE_DOUBLE_COMPLEX, CPL_TYPE_FLAG_ARRAY, CPL_TYPE_FLOAT, CPL_TYPE_FLOAT_COMPLEX, CPL_TYPE_INT, CPL_TYPE_INVALID, CPL_TYPE_LONG, CPL_TYPE_LONG_LONG, CPL_TYPE_POINTER, CPL_TYPE_SHORT, CPL_TYPE_SIZE, CPL_TYPE_STRING, CPL_TYPE_UCHAR, CPL_TYPE_UINT, CPL_TYPE_ULONG, CPL_TYPE_UNSPECIFIED, and CPL_TYPE_USHORT.
Referenced by cpl_array_new(), cpl_dfs_setup_product_header(), cpl_fit_image_gaussian(), cpl_image_and(), cpl_image_and_scalar(), cpl_image_cast(), cpl_image_dump_structure(), cpl_image_exponential(), cpl_image_hypot(), cpl_image_logarithm(), cpl_image_not(), cpl_image_or(), cpl_image_or_scalar(), cpl_image_power(), cpl_image_xor(), cpl_image_xor_scalar(), cpl_parameter_get_bool(), cpl_parameter_get_default_bool(), cpl_parameter_get_default_double(), cpl_parameter_get_default_int(), cpl_parameter_get_default_string(), cpl_parameter_get_double(), cpl_parameter_get_enum_double(), cpl_parameter_get_enum_int(), cpl_parameter_get_enum_size(), cpl_parameter_get_enum_string(), cpl_parameter_get_int(), cpl_parameter_get_range_max_double(), cpl_parameter_get_range_max_int(), cpl_parameter_get_range_min_double(), cpl_parameter_get_range_min_int(), cpl_parameter_get_string(), cpl_parameter_new_enum(), cpl_parameter_new_enum_from_array(), cpl_parameter_new_range(), cpl_parameter_new_value(), cpl_parameter_set_bool(), cpl_parameter_set_default_bool(), cpl_parameter_set_default_double(), cpl_parameter_set_default_int(), cpl_parameter_set_default_string(), cpl_parameter_set_double(), cpl_parameter_set_int(), cpl_parameter_set_string(), cpl_property_delete(), cpl_property_get_bool(), cpl_property_get_char(), cpl_property_get_double(), cpl_property_get_double_complex(), cpl_property_get_float(), cpl_property_get_float_complex(), cpl_property_get_int(), cpl_property_get_long(), cpl_property_get_long_long(), cpl_property_get_string(), cpl_property_set_bool(), cpl_property_set_char(), cpl_property_set_double(), cpl_property_set_double_complex(), cpl_property_set_float(), cpl_property_set_float_complex(), cpl_property_set_int(), cpl_property_set_long(), cpl_property_set_long_long(), cpl_property_set_string(), cpl_propertylist_dump(), cpl_table_get(), cpl_table_get_complex(), and cpl_table_get_int().
size_t cpl_type_get_sizeof | ( | cpl_type | type | ) |
Compute the size of a type.
type | Type code to be evaluated. |
The function computes the atomic size of the type type. The result for fundamental types like CPL_TYPE_FLOAT
is what you would expect from the C sizeof() operator. For arrays, i.e. types having the CPL_TYPE_FLAG_ARRAY
set the returned size is not the size of a pointer to CPL_TYPE_FLOAT
for instance, but the size of its fundamental type, i.e. the returned size is same as for the type CPL_TYPE_FLOAT
.
Especially for the type CPL_TYPE_STRING
, which is explicitly defined for convenience reasons, the size returned by this function is the size of CPL_TYPE_CHAR!
References CPL_TYPE_BOOL, CPL_TYPE_CHAR, CPL_TYPE_DOUBLE, CPL_TYPE_DOUBLE_COMPLEX, CPL_TYPE_FLOAT, CPL_TYPE_FLOAT_COMPLEX, CPL_TYPE_INT, CPL_TYPE_INVALID, CPL_TYPE_LONG, CPL_TYPE_LONG_LONG, CPL_TYPE_POINTER, CPL_TYPE_SHORT, CPL_TYPE_SIZE, CPL_TYPE_UCHAR, CPL_TYPE_UINT, CPL_TYPE_ULONG, CPL_TYPE_UNSPECIFIED, and CPL_TYPE_USHORT.
Referenced by cpl_fit_imagelist_polynomial_window(), cpl_image_and(), cpl_image_and_scalar(), cpl_image_cast(), cpl_image_copy(), cpl_image_duplicate(), cpl_image_filter(), cpl_image_filter_mask(), cpl_image_not(), cpl_image_or(), cpl_image_or_scalar(), cpl_image_shift(), cpl_image_xor(), cpl_image_xor_scalar(), cpl_parameter_new_enum_from_array(), cpl_property_delete(), cpl_property_get_double(), cpl_property_get_double_complex(), cpl_property_get_float(), cpl_property_get_float_complex(), cpl_property_set_bool(), cpl_property_set_char(), cpl_property_set_double(), cpl_property_set_double_complex(), cpl_property_set_float(), cpl_property_set_float_complex(), cpl_property_set_int(), cpl_property_set_long(), cpl_property_set_long_long(), and cpl_test_get_bytes_image().