Common Pipeline Library Reference 7.3.2
Loading...
Searching...
No Matches
Typedefs | Functions
Property Lists

Typedefs

typedef struct _cpl_propertylist_ cpl_propertylist
 The opaque property list data type.
 
typedef int(* cpl_propertylist_compare_func) (const cpl_property *first, const cpl_property *second)
 The property comparison function data type.
 

Functions

cpl_error_code cpl_propertylist_append (cpl_propertylist *self, const cpl_propertylist *other)
 Append a property list..
 
cpl_error_code cpl_propertylist_append_bool (cpl_propertylist *self, const char *name, int value)
 Append a boolean value to a property list.
 
cpl_error_code cpl_propertylist_append_char (cpl_propertylist *self, const char *name, char value)
 Append a character value to a property list.
 
cpl_error_code cpl_propertylist_append_double (cpl_propertylist *self, const char *name, double value)
 Append a double value to a property list.
 
cpl_error_code cpl_propertylist_append_double_complex (cpl_propertylist *self, const char *name, double complex value)
 Append a double complex value to a property list.
 
cpl_error_code cpl_propertylist_append_float (cpl_propertylist *self, const char *name, float value)
 Append a float value to a property list.
 
cpl_error_code cpl_propertylist_append_float_complex (cpl_propertylist *self, const char *name, float complex value)
 Append a float complex value to a property list.
 
cpl_error_code cpl_propertylist_append_int (cpl_propertylist *self, const char *name, int value)
 Append an integer value to a property list.
 
cpl_error_code cpl_propertylist_append_long (cpl_propertylist *self, const char *name, long value)
 Append a long value to a property list.
 
cpl_error_code cpl_propertylist_append_long_long (cpl_propertylist *self, const char *name, long long value)
 Append a long long value to a property list.
 
cpl_error_code cpl_propertylist_append_property (cpl_propertylist *self, const cpl_property *property)
 Append a duplicate of a property to a property list.
 
cpl_error_code cpl_propertylist_append_string (cpl_propertylist *self, const char *name, const char *value)
 Append a string value to a property list.
 
cpl_error_code cpl_propertylist_copy_property (cpl_propertylist *self, const cpl_propertylist *other, const char *name)
 Copy a property from another property list.
 
cpl_error_code cpl_propertylist_copy_property_regexp (cpl_propertylist *self, const cpl_propertylist *other, const char *regexp, int invert)
 Copy matching properties from another property list.
 
void cpl_propertylist_delete (cpl_propertylist *self)
 Destroy a property list.
 
void cpl_propertylist_dump (const cpl_propertylist *self, FILE *stream)
 Print a property list.
 
cpl_propertylistcpl_propertylist_duplicate (const cpl_propertylist *self)
 Create a copy of the given property list.
 
void cpl_propertylist_empty (cpl_propertylist *self)
 Remove all properties from a property list.
 
int cpl_propertylist_erase (cpl_propertylist *self, const char *name)
 Erase the given property from a property list.
 
int cpl_propertylist_erase_regexp (cpl_propertylist *self, const char *regexp, int invert)
 Erase all properties with name matching a given regular expression.
 
cpl_propertycpl_propertylist_get (cpl_propertylist *self, long position)
 Access property list elements by index.
 
int cpl_propertylist_get_bool (const cpl_propertylist *self, const char *name)
 Get the boolean value of the given property list entry.
 
char cpl_propertylist_get_char (const cpl_propertylist *self, const char *name)
 Get the character value of the given property list entry.
 
const char * cpl_propertylist_get_comment (const cpl_propertylist *self, const char *name)
 Get the comment of the given property list entry.
 
const cpl_propertycpl_propertylist_get_const (const cpl_propertylist *self, long position)
 Access property list elements by index.
 
double cpl_propertylist_get_double (const cpl_propertylist *self, const char *name)
 Get the double value of the given property list entry.
 
double complex cpl_propertylist_get_double_complex (const cpl_propertylist *self, const char *name)
 Get the double complex value of the given property list entry.
 
float cpl_propertylist_get_float (const cpl_propertylist *self, const char *name)
 Get the float value of the given property list entry.
 
float complex cpl_propertylist_get_float_complex (const cpl_propertylist *self, const char *name)
 Get the float complex value of the given property list entry.
 
int cpl_propertylist_get_int (const cpl_propertylist *self, const char *name)
 Get the integer value of the given property list entry.
 
long cpl_propertylist_get_long (const cpl_propertylist *self, const char *name)
 Get the long value of the given property list entry.
 
long long cpl_propertylist_get_long_long (const cpl_propertylist *self, const char *name)
 Get the long long value of the given property list entry.
 
cpl_propertycpl_propertylist_get_property (cpl_propertylist *self, const char *name)
 Access property list elements by property name.
 
const cpl_propertycpl_propertylist_get_property_const (const cpl_propertylist *self, const char *name)
 Access property list elements by property name.
 
cpl_size cpl_propertylist_get_size (const cpl_propertylist *self)
 Get the current size of a property list.
 
const char * cpl_propertylist_get_string (const cpl_propertylist *self, const char *name)
 Get the string value of the given property list entry.
 
cpl_type cpl_propertylist_get_type (const cpl_propertylist *self, const char *name)
 Get the the type of a property list entry.
 
int cpl_propertylist_has (const cpl_propertylist *self, const char *name)
 Check whether a property is present in a property list.
 
cpl_error_code cpl_propertylist_insert_after_bool (cpl_propertylist *self, const char *after, const char *name, int value)
 Insert a boolean value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_char (cpl_propertylist *self, const char *after, const char *name, char value)
 Insert a character value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_double (cpl_propertylist *self, const char *after, const char *name, double value)
 Insert a double value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_double_complex (cpl_propertylist *self, const char *after, const char *name, double complex value)
 Insert a double complex value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_float (cpl_propertylist *self, const char *after, const char *name, float value)
 Insert a float value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_float_complex (cpl_propertylist *self, const char *after, const char *name, float complex value)
 Insert a float complex value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_int (cpl_propertylist *self, const char *after, const char *name, int value)
 Insert a integer value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_long (cpl_propertylist *self, const char *after, const char *name, long value)
 Insert a long value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_long_long (cpl_propertylist *self, const char *after, const char *name, long long value)
 Insert a long long value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_property (cpl_propertylist *self, const char *after, const cpl_property *property)
 Insert a property into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_after_string (cpl_propertylist *self, const char *after, const char *name, const char *value)
 Insert a string value into a property list after the given position.
 
cpl_error_code cpl_propertylist_insert_bool (cpl_propertylist *self, const char *here, const char *name, int value)
 Insert a boolean value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_char (cpl_propertylist *self, const char *here, const char *name, char value)
 Insert a character value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_double (cpl_propertylist *self, const char *here, const char *name, double value)
 Insert a double value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_double_complex (cpl_propertylist *self, const char *here, const char *name, double complex value)
 Insert a double complex value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_float (cpl_propertylist *self, const char *here, const char *name, float value)
 Insert a float value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_float_complex (cpl_propertylist *self, const char *here, const char *name, float complex value)
 Insert a float complex value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_int (cpl_propertylist *self, const char *here, const char *name, int value)
 Insert a integer value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_long (cpl_propertylist *self, const char *here, const char *name, long value)
 Insert a long value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_long_long (cpl_propertylist *self, const char *here, const char *name, long long value)
 Insert a long long value into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_property (cpl_propertylist *self, const char *here, const cpl_property *property)
 Insert a property into a property list at the given position.
 
cpl_error_code cpl_propertylist_insert_string (cpl_propertylist *self, const char *here, const char *name, const char *value)
 Insert a string value into a property list at the given position.
 
int cpl_propertylist_is_empty (const cpl_propertylist *self)
 Check whether a property list is empty.
 
cpl_propertylistcpl_propertylist_load (const char *name, cpl_size position)
 Create a property list from a file.
 
cpl_propertylistcpl_propertylist_load_regexp (const char *name, cpl_size position, const char *regexp, int invert)
 Create a filtered property list from a file.
 
cpl_propertylistcpl_propertylist_new (void)
 Create an empty property list.
 
cpl_error_code cpl_propertylist_prepend_bool (cpl_propertylist *self, const char *name, int value)
 Prepend a boolean value to a property list.
 
cpl_error_code cpl_propertylist_prepend_char (cpl_propertylist *self, const char *name, char value)
 Prepend a character value to a property list.
 
cpl_error_code cpl_propertylist_prepend_double (cpl_propertylist *self, const char *name, double value)
 Prepend a double value to a property list.
 
cpl_error_code cpl_propertylist_prepend_double_complex (cpl_propertylist *self, const char *name, double complex value)
 Prepend a double complex value to a property list.
 
cpl_error_code cpl_propertylist_prepend_float (cpl_propertylist *self, const char *name, float value)
 Prepend a float value to a property list.
 
cpl_error_code cpl_propertylist_prepend_float_complex (cpl_propertylist *self, const char *name, float complex value)
 Prepend a float complex value to a property list.
 
cpl_error_code cpl_propertylist_prepend_int (cpl_propertylist *self, const char *name, int value)
 Prepend a integer value to a property list.
 
cpl_error_code cpl_propertylist_prepend_long (cpl_propertylist *self, const char *name, long value)
 Prepend a long value to a property list.
 
cpl_error_code cpl_propertylist_prepend_long_long (cpl_propertylist *self, const char *name, long long value)
 Prepend a long long value to a property list.
 
cpl_error_code cpl_propertylist_prepend_property (cpl_propertylist *self, const cpl_property *property)
 Prepend a property to a property list.
 
cpl_error_code cpl_propertylist_prepend_string (cpl_propertylist *self, const char *name, const char *value)
 Prepend a string value to a property list.
 
cpl_error_code cpl_propertylist_save (const cpl_propertylist *self, const char *filename, unsigned mode)
 Save a property list to a FITS file.
 
cpl_error_code cpl_propertylist_set_bool (cpl_propertylist *self, const char *name, int value)
 Set the value of the given boolean property list entry.
 
cpl_error_code cpl_propertylist_set_char (cpl_propertylist *self, const char *name, char value)
 Set the value of the given character property list entry.
 
cpl_error_code cpl_propertylist_set_comment (cpl_propertylist *self, const char *name, const char *comment)
 Modify the comment field of the given property list entry.
 
cpl_error_code cpl_propertylist_set_double (cpl_propertylist *self, const char *name, double value)
 Set the value of the given double property list entry.
 
cpl_error_code cpl_propertylist_set_double_complex (cpl_propertylist *self, const char *name, double complex value)
 Set the value of the given double complex property list entry.
 
cpl_error_code cpl_propertylist_set_float (cpl_propertylist *self, const char *name, float value)
 Set the value of the given float property list entry.
 
cpl_error_code cpl_propertylist_set_float_complex (cpl_propertylist *self, const char *name, float complex value)
 Set the value of the given float complex property list entry.
 
cpl_error_code cpl_propertylist_set_int (cpl_propertylist *self, const char *name, int value)
 Set the value of the given integer property list entry.
 
cpl_error_code cpl_propertylist_set_long (cpl_propertylist *self, const char *name, long value)
 Set the value of the given long property list entry.
 
cpl_error_code cpl_propertylist_set_long_long (cpl_propertylist *self, const char *name, long long value)
 Set the value of the given long long property list entry.
 
cpl_error_code cpl_propertylist_set_string (cpl_propertylist *self, const char *name, const char *value)
 Set the value of the given string property list entry.
 
cpl_error_code cpl_propertylist_sort (cpl_propertylist *self, cpl_propertylist_compare_func compare)
 Sort a property list.
 
cpl_error_code cpl_propertylist_update_bool (cpl_propertylist *self, const char *name, int value)
 Update a property list with a boolean value.
 
cpl_error_code cpl_propertylist_update_char (cpl_propertylist *self, const char *name, char value)
 Update a property list with a character value.
 
cpl_error_code cpl_propertylist_update_double (cpl_propertylist *self, const char *name, double value)
 Update a property list with a double value.
 
cpl_error_code cpl_propertylist_update_double_complex (cpl_propertylist *self, const char *name, double complex value)
 Update a property list with a double complex value.
 
cpl_error_code cpl_propertylist_update_float (cpl_propertylist *self, const char *name, float value)
 Update a property list with a float value.
 
cpl_error_code cpl_propertylist_update_float_complex (cpl_propertylist *self, const char *name, float complex value)
 Update a property list with a float complex value.
 
cpl_error_code cpl_propertylist_update_int (cpl_propertylist *self, const char *name, int value)
 Update a property list with a integer value.
 
cpl_error_code cpl_propertylist_update_long (cpl_propertylist *self, const char *name, long value)
 Update a property list with a long value.
 
cpl_error_code cpl_propertylist_update_long_long (cpl_propertylist *self, const char *name, long long value)
 Update a property list with a long long value.
 
cpl_error_code cpl_propertylist_update_string (cpl_propertylist *self, const char *name, const char *value)
 Update a property list with a string value.
 

Detailed Description

This module implements a container for properties (see Properties) which can be used to store auxiliary values related to another data object, an image or a table for instance. The property values can be set and retrieved by their associated name and properties can be added and removed from the list. The property list container is an ordered sequence of properties.

Synopsis:
#include <cpl_propertylist.h>

Typedef Documentation

◆ cpl_propertylist

typedef struct _cpl_propertylist_ cpl_propertylist

The opaque property list data type.

◆ cpl_propertylist_compare_func

typedef int(* cpl_propertylist_compare_func) (const cpl_property *first, const cpl_property *second)

The property comparison function data type.

Function Documentation

◆ cpl_propertylist_append()

cpl_error_code cpl_propertylist_append ( cpl_propertylist self,
const cpl_propertylist other 
)

Append a property list..

Parameters
selfA property list.
otherThe property list to append.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function appends the property list other to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_duplicate().

Referenced by cpl_dfs_setup_product_header().

◆ cpl_propertylist_append_bool()

cpl_error_code cpl_propertylist_append_bool ( cpl_propertylist self,
const char *  name,
int  value 
)

Append a boolean value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe boolean value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new boolean property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_bool(), and CPL_TYPE_BOOL.

◆ cpl_propertylist_append_char()

cpl_error_code cpl_propertylist_append_char ( cpl_propertylist self,
const char *  name,
char  value 
)

Append a character value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe character value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new character property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_char(), and CPL_TYPE_CHAR.

◆ cpl_propertylist_append_double()

cpl_error_code cpl_propertylist_append_double ( cpl_propertylist self,
const char *  name,
double  value 
)

Append a double value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new double property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_double(), and CPL_TYPE_DOUBLE.

◆ cpl_propertylist_append_double_complex()

cpl_error_code cpl_propertylist_append_double_complex ( cpl_propertylist self,
const char *  name,
double complex  value 
)

Append a double complex value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new double complex property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_double_complex(), and CPL_TYPE_DOUBLE_COMPLEX.

◆ cpl_propertylist_append_float()

cpl_error_code cpl_propertylist_append_float ( cpl_propertylist self,
const char *  name,
float  value 
)

Append a float value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new float property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_float(), and CPL_TYPE_FLOAT.

◆ cpl_propertylist_append_float_complex()

cpl_error_code cpl_propertylist_append_float_complex ( cpl_propertylist self,
const char *  name,
float complex  value 
)

Append a float complex value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new float complex property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_float_complex(), and CPL_TYPE_FLOAT_COMPLEX.

◆ cpl_propertylist_append_int()

cpl_error_code cpl_propertylist_append_int ( cpl_propertylist self,
const char *  name,
int  value 
)

Append an integer value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe integer value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new integer property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_int(), and CPL_TYPE_INT.

◆ cpl_propertylist_append_long()

cpl_error_code cpl_propertylist_append_long ( cpl_propertylist self,
const char *  name,
long  value 
)

Append a long value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new long property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_long(), and CPL_TYPE_LONG.

◆ cpl_propertylist_append_long_long()

cpl_error_code cpl_propertylist_append_long_long ( cpl_propertylist self,
const char *  name,
long long  value 
)

Append a long long value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new long long property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_long_long(), and CPL_TYPE_LONG_LONG.

◆ cpl_propertylist_append_property()

cpl_error_code cpl_propertylist_append_property ( cpl_propertylist self,
const cpl_property property 
)

Append a duplicate of a property to a property list.

Parameters
selfProperty list to append to
propertyThe property to duplicate and append
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or property is a NULL pointer.

This function creates a new property and appends it to the end of a property list. It will not check if the property already exists.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_duplicate().

Referenced by cpl_dfs_setup_product_header().

◆ cpl_propertylist_append_string()

cpl_error_code cpl_propertylist_append_string ( cpl_propertylist self,
const char *  name,
const char *  value 
)

Append a string value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe string value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, name or value is a NULL pointer.

The function creates a new string property with name name and value value. The property is appended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_string(), and CPL_TYPE_STRING.

◆ cpl_propertylist_copy_property()

cpl_error_code cpl_propertylist_copy_property ( cpl_propertylist self,
const cpl_propertylist other,
const char *  name 
)

Copy a property from another property list.

Parameters
selfA property list.
otherThe property list from which a property is copied.
nameThe name of the property to copy.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, other or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list other does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of the same type as the property which should be copied from other.

The function copies the property name from the property list other to the property list self. If the property list self does not already contain a property name the property is appended to self. If a property name exists already in self the function overwrites the contents of this property if and only if this property is of the same type as the property to be copied from other.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_TYPE_MISMATCH, and cpl_property_duplicate().

◆ cpl_propertylist_copy_property_regexp()

cpl_error_code cpl_propertylist_copy_property_regexp ( cpl_propertylist self,
const cpl_propertylist other,
const char *  regexp,
int  invert 
)

Copy matching properties from another property list.

Parameters
selfA property list.
otherThe property list from which a property is copied.
regexpThe regular expression used to select properties.
invertFlag inverting the sense of matching.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, other or regexp is a NULL pointer.
CPL_ERROR_ILLEGAL_INPUT The parameter regexp is an invalid regular expression, including the empty stringr.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of the same type as the property which should be copied from other.

The function copies all properties with matching names from the property list other to the property list self. If the flag invert is zero, all properties whose names match the regular expression regexp are copied. If invert is set to a non-zero value, all properties with names not matching regexp are copied rather. The function expects POSIX 1003.2 compliant extended regular expressions.

If the property list self does not already contain one of the properties to be copied this property is appended to self. If a property to be copied exists already in self the function overwrites the contents of this property.

Before properties are copied from the property list other to self the types of the properties are checked and if any type mismatch is detected the function stops processing immediately. The property list self is not at all modified in this case.

See also
cpl_propertylist_copy_property(), cpl_propertylist_append()

References CPL_ERROR_ILLEGAL_INPUT, CPL_ERROR_NONE, and CPL_ERROR_NULL_INPUT.

◆ cpl_propertylist_delete()

void cpl_propertylist_delete ( cpl_propertylist self)

Destroy a property list.

Parameters
selfThe property list to .
Returns
Nothing.

The function destroys the property list self and its whole contents. If self is NULL, nothing is done and no error is set.

References cpl_property_delete().

Referenced by cpl_dfs_setup_product_header(), cpl_propertylist_load(), and cpl_propertylist_load_regexp().

◆ cpl_propertylist_dump()

void cpl_propertylist_dump ( const cpl_propertylist self,
FILE *  stream 
)

◆ cpl_propertylist_duplicate()

cpl_propertylist * cpl_propertylist_duplicate ( const cpl_propertylist self)

Create a copy of the given property list.

Parameters
selfThe property list to be copied.
Returns
The created copy or NULL in case an error occurred.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function creates a deep copy of the given property list self, i.e the created copy and the original property list do not share any resources.

References CPL_ERROR_NULL_INPUT, cpl_property_duplicate(), and cpl_propertylist_new().

◆ cpl_propertylist_empty()

void cpl_propertylist_empty ( cpl_propertylist self)

Remove all properties from a property list.

Parameters
selfA property list.
Returns
Nothing.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function removes all properties from self. Each property is properly deallocated. After calling this function self is empty.

References CPL_ERROR_NULL_INPUT, and cpl_property_delete().

◆ cpl_propertylist_erase()

int cpl_propertylist_erase ( cpl_propertylist self,
const char *  name 
)

Erase the given property from a property list.

Parameters
selfA property list.
nameName of the property to erase.
Returns
On success the function returns the number of erased entries. If an error occurs the function returns 0 and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function searches the property with the name name in the property list self and removes it. The property is destroyed. If self contains multiple duplicates of a property named name, only the first one is erased.

References CPL_ERROR_NULL_INPUT, and cpl_property_delete().

Referenced by cpl_dfs_setup_product_header().

◆ cpl_propertylist_erase_regexp()

int cpl_propertylist_erase_regexp ( cpl_propertylist self,
const char *  regexp,
int  invert 
)

Erase all properties with name matching a given regular expression.

Parameters
selfA property list.
regexpRegular expression.
invertFlag inverting the sense of matching.
Returns
On success the function returns the number of erased entries or 0 if no entries are erased. If an error occurs the function returns -1 and an appropriate error code is set. In CPL versions earlier than 5.0, the return value in case of error is 0.
Errors
CPL_ERROR_NULL_INPUT The parameter self or regexp is a NULL pointer.
CPL_ERROR_ILLEGAL_INPUT The parameter regexp is the empty string.

The function searches for all the properties matching in the list self and removes them. Whether a property matches or not depends on the given regular expression regexp, and the flag invert. If invert is 0, all properties matching regexp are removed from the list. If invert is set to a non-zero value, all properties which do not match regexp are erased. The removed properties are destroyed.

The function expects POSIX 1003.2 compliant extended regular expressions.

References CPL_ERROR_ILLEGAL_INPUT, and CPL_ERROR_NULL_INPUT.

◆ cpl_propertylist_get()

cpl_property * cpl_propertylist_get ( cpl_propertylist self,
long  position 
)

Access property list elements by index.

Parameters
selfThe property list to query.
positionIndex of the element to retrieve.
Returns
The function returns the property with index position, or NULL if position is out of range.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function returns a handle for the property list element, the property, with the index position. Numbering of property list elements extends from 0 to cpl_propertylist_get_size() - 1. If position is less than 0 or greater equal than cpl_propertylist_get_size() the function returns NULL.

References cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_propertylist_get_const().

◆ cpl_propertylist_get_bool()

int cpl_propertylist_get_bool ( const cpl_propertylist self,
const char *  name 
)

Get the boolean value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The integer representation of the boolean value stored in the list entry. TRUE is represented as non-zero value while 0 indicates FALSE. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_BOOL.

The function searches the property list self for a property named name. If it is present in the list, its boolean value is returned. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_bool().

◆ cpl_propertylist_get_char()

char cpl_propertylist_get_char ( const cpl_propertylist self,
const char *  name 
)

Get the character value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The character value stored in the list entry. The function returns '\0' if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_CHAR.

The function searches the property list self for a property named name. If it is present in the list, its character value is returned. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_char().

◆ cpl_propertylist_get_comment()

const char * cpl_propertylist_get_comment ( const cpl_propertylist self,
const char *  name 
)

Get the comment of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The comment of the property list entry, or NULL.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its comment string is returned. If an entry with the name name is not found, or if the entry has no comment the function returns NULL. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_get_comment().

◆ cpl_propertylist_get_const()

const cpl_property * cpl_propertylist_get_const ( const cpl_propertylist self,
long  position 
)

Access property list elements by index.

Parameters
selfThe property list to query.
positionIndex of the element to retrieve.
Returns
The function returns the property with index position, or NULL if position is out of range.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function returns a handle for the property list element, the property, with the index position. Numbering of property list elements extends from 0 to cpl_propertylist_get_size() - 1. If position is less than 0 or greater equal than cpl_propertylist_get_size() the function returns NULL.

References CPL_ERROR_NULL_INPUT.

Referenced by cpl_multiframe_dataset_properties_remove(), cpl_multiframe_dataset_properties_update(), cpl_propertylist_dump(), and cpl_propertylist_get().

◆ cpl_propertylist_get_double()

double cpl_propertylist_get_double ( const cpl_propertylist self,
const char *  name 
)

Get the double value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The double value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_DOUBLE or CPL_TYPE_FLOAT.

The function searches the property list self for a property named name. If it is present in the list, its double value is returned. If there is more than one property with the same name, it takes the first one from the list. If the value is of type float, the function casts it to double before returning it.

The function may be used to access the value of all floating-point type properties whose floating-point value has a rank less or equal to the functions return type. If the value of a compatible property is retrieved, it is promoted to the return type of the function.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_double().

◆ cpl_propertylist_get_double_complex()

double complex cpl_propertylist_get_double_complex ( const cpl_propertylist self,
const char *  name 
)

Get the double complex value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The double complex value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_DOUBLE_COMPLEX or CPL_TYPE_FLOAT_COMPLEX.

The function searches the property list self for a property named name. If it is present in the list, its double complex value is returned. If there is more than one property with the same name, it takes the first one from the list. If the value is of type float, the function casts it to double complex before returning it.

The function may be used to access the value of all complex type properties whose complex value has a rank less or equal to the functions return type. If the value of a compatible property is retrieved, it is promoted to the return type of the function.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_double_complex().

◆ cpl_propertylist_get_float()

float cpl_propertylist_get_float ( const cpl_propertylist self,
const char *  name 
)

Get the float value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The float value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_FLOAT or CPL_TYPE_DOUBLE.

The function searches the property list self for a property named name. If it is present in the list, its float value is returned. If there is more than one property with the same name, it takes the first one from the list. If the value is of type double, the function casts it to float before returning it.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_float().

◆ cpl_propertylist_get_float_complex()

float complex cpl_propertylist_get_float_complex ( const cpl_propertylist self,
const char *  name 
)

Get the float complex value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The float complex value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_FLOAT_COMPLEX or CPL_TYPE_DOUBLE_COMPLEX.

The function searches the property list self for a property named name. If it is present in the list, its float complex value is returned. If there is more than one property with the same name, it takes the first one from the list. If the value is of type double, the function casts it to float complex before returning it.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_float_complex().

◆ cpl_propertylist_get_int()

int cpl_propertylist_get_int ( const cpl_propertylist self,
const char *  name 
)

Get the integer value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The integer value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_INT.

The function searches the property list self for a property named name. If it is present in the list, its integer value is returned. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_int().

◆ cpl_propertylist_get_long()

long cpl_propertylist_get_long ( const cpl_propertylist self,
const char *  name 
)

Get the long value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The long value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_LONG or CPL_TYPE_INT.

The function searches the property list self for a property named name. If it is present in the list, its long value is returned. If there is more than one property with the same name, it takes the first one from the list.

The function may be used to access the value of all integer type properties whose integer value has a rank less or equal to the functions return type. If the value of a compatible property is retrieved, it is promoted to the return type of the function.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_long().

◆ cpl_propertylist_get_long_long()

long long cpl_propertylist_get_long_long ( const cpl_propertylist self,
const char *  name 
)

Get the long long value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The long value stored in the list entry. The function returns 0 if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_LONG_LONG, CPL_TYPE_LONG, or CPL_TYPE_INT

The function searches the property list self for a property named name. If it is present in the list, its long long value is returned. If there is more than one property with the same name, it takes the first one from the list.

The function may be used to access the value of all integer type properties whose integer value has a rank less or equal to the functions return type. If the value of a compatible property is retrieved, it is promoted to the return type of the function.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_long_long().

◆ cpl_propertylist_get_property()

cpl_property * cpl_propertylist_get_property ( cpl_propertylist self,
const char *  name 
)

Access property list elements by property name.

Parameters
selfThe property list to query.
nameThe name of the property to retrieve.
Returns
The function returns the property with name name, or NULL if it does not exist.
Errors
CPL_ERROR_NULL_INPUT The parameter self or the name is a NULL pointer.

The function returns a handle to the property list element, the property, with the name name. If more than one property exist with the same name, then the first one found will be returned.

References CPL_ERROR_NULL_INPUT.

◆ cpl_propertylist_get_property_const()

const cpl_property * cpl_propertylist_get_property_const ( const cpl_propertylist self,
const char *  name 
)

Access property list elements by property name.

Parameters
selfThe property list to query.
nameThe name of the property to retrieve.
Returns
The function returns the property with name name, or NULL if it does not exist.
Errors
CPL_ERROR_NULL_INPUT The parameter self or the name is a NULL pointer.

The function returns a handle to the property list element, the property, with the name name. If more than one property exist with the same name, then the first one found will be returned.

References CPL_ERROR_NULL_INPUT.

Referenced by cpl_dfs_setup_product_header().

◆ cpl_propertylist_get_size()

cpl_size cpl_propertylist_get_size ( const cpl_propertylist self)

Get the current size of a property list.

Parameters
selfA property list.
Returns
The property list's current size, or 0 if the list is empty. If an error occurs the function returns 0 and sets an appropriate error code.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function reports the current number of elements stored in the property list self.

References CPL_ERROR_NULL_INPUT.

Referenced by cpl_multiframe_dataset_properties_remove(), cpl_multiframe_dataset_properties_update(), cpl_propertylist_dump(), and cpl_table_sort().

◆ cpl_propertylist_get_string()

const char * cpl_propertylist_get_string ( const cpl_propertylist self,
const char *  name 
)

Get the string value of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
A handle to the string value stored in the list entry. The function returns NULL if an error occurs and an appropriate error code is set.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.
CPL_ERROR_TYPE_MISMATCH The sought-after property name is not of type CPL_TYPE_STRING.

The function searches the property list self for a property named name. If it is present in the list, a handle to its string value is returned. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, cpl_errorstate_get(), cpl_errorstate_is_equal(), and cpl_property_get_string().

◆ cpl_propertylist_get_type()

cpl_type cpl_propertylist_get_type ( const cpl_propertylist self,
const char *  name 
)

Get the the type of a property list entry.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The type of the stored value. If an error occurs the function returns CPL_TYPE_INVALID and sets an appropriate error code.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function returns the type of the value stored in self with the name name. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and CPL_TYPE_INVALID.

◆ cpl_propertylist_has()

int cpl_propertylist_has ( const cpl_propertylist self,
const char *  name 
)

Check whether a property is present in a property list.

Parameters
selfA property list.
nameThe property name to look up.
Returns
The function returns 1 if the property is present, or 0 otherwise. If an error occurs the function returns 0 and sets an appropriate error code.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function searches the property list self for a property with the name name and reports whether it was found or not.

References CPL_ERROR_NULL_INPUT.

Referenced by cpl_dfs_setup_product_header().

◆ cpl_propertylist_insert_after_bool()

cpl_error_code cpl_propertylist_insert_after_bool ( cpl_propertylist self,
const char *  after,
const char *  name,
int  value 
)

Insert a boolean value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe boolean value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new boolean property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_BOOL.

◆ cpl_propertylist_insert_after_char()

cpl_error_code cpl_propertylist_insert_after_char ( cpl_propertylist self,
const char *  after,
const char *  name,
char  value 
)

Insert a character value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe character value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new character property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_CHAR.

◆ cpl_propertylist_insert_after_double()

cpl_error_code cpl_propertylist_insert_after_double ( cpl_propertylist self,
const char *  after,
const char *  name,
double  value 
)

Insert a double value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe double value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new double property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_DOUBLE.

◆ cpl_propertylist_insert_after_double_complex()

cpl_error_code cpl_propertylist_insert_after_double_complex ( cpl_propertylist self,
const char *  after,
const char *  name,
double complex  value 
)

Insert a double complex value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe double complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new double complex property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_DOUBLE_COMPLEX.

◆ cpl_propertylist_insert_after_float()

cpl_error_code cpl_propertylist_insert_after_float ( cpl_propertylist self,
const char *  after,
const char *  name,
float  value 
)

Insert a float value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe float value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new float property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_FLOAT.

◆ cpl_propertylist_insert_after_float_complex()

cpl_error_code cpl_propertylist_insert_after_float_complex ( cpl_propertylist self,
const char *  after,
const char *  name,
float complex  value 
)

Insert a float complex value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe float complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new float complex property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_FLOAT_COMPLEX.

◆ cpl_propertylist_insert_after_int()

cpl_error_code cpl_propertylist_insert_after_int ( cpl_propertylist self,
const char *  after,
const char *  name,
int  value 
)

Insert a integer value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe integer value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new integer property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_INT.

◆ cpl_propertylist_insert_after_long()

cpl_error_code cpl_propertylist_insert_after_long ( cpl_propertylist self,
const char *  after,
const char *  name,
long  value 
)

Insert a long value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new long property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_LONG.

◆ cpl_propertylist_insert_after_long_long()

cpl_error_code cpl_propertylist_insert_after_long_long ( cpl_propertylist self,
const char *  after,
const char *  name,
long long  value 
)

Insert a long long value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe long long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new long long property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_LONG_LONG.

◆ cpl_propertylist_insert_after_property()

cpl_error_code cpl_propertylist_insert_after_property ( cpl_propertylist self,
const char *  after,
const cpl_property property 
)

Insert a property into a property list after the given position.

Parameters
selfProperty list
afterName of the property after which to insert the property
propertyThe property to insert
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, property or after is a NULL pointer.

The function creates a new property and inserts it into the property list self after the position of the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and cpl_property_duplicate().

Referenced by cpl_wcs_platesol().

◆ cpl_propertylist_insert_after_string()

cpl_error_code cpl_propertylist_insert_after_string ( cpl_propertylist self,
const char *  after,
const char *  name,
const char *  value 
)

Insert a string value into a property list after the given position.

Parameters
selfA property list.
afterName of the property after which the value is inserted.
nameThe property name to be assigned to the value.
valueThe string value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, after, name or value or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new string property with name name and value value. The property is inserted into the property list self after the property named after.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_STRING.

◆ cpl_propertylist_insert_bool()

cpl_error_code cpl_propertylist_insert_bool ( cpl_propertylist self,
const char *  here,
const char *  name,
int  value 
)

Insert a boolean value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe boolean value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new boolean property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_BOOL.

◆ cpl_propertylist_insert_char()

cpl_error_code cpl_propertylist_insert_char ( cpl_propertylist self,
const char *  here,
const char *  name,
char  value 
)

Insert a character value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe character value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new character property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_CHAR.

◆ cpl_propertylist_insert_double()

cpl_error_code cpl_propertylist_insert_double ( cpl_propertylist self,
const char *  here,
const char *  name,
double  value 
)

Insert a double value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe double value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new double property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_DOUBLE.

◆ cpl_propertylist_insert_double_complex()

cpl_error_code cpl_propertylist_insert_double_complex ( cpl_propertylist self,
const char *  here,
const char *  name,
double complex  value 
)

Insert a double complex value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe double complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new double complex property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_DOUBLE_COMPLEX.

◆ cpl_propertylist_insert_float()

cpl_error_code cpl_propertylist_insert_float ( cpl_propertylist self,
const char *  here,
const char *  name,
float  value 
)

Insert a float value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe float value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new float property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_FLOAT.

◆ cpl_propertylist_insert_float_complex()

cpl_error_code cpl_propertylist_insert_float_complex ( cpl_propertylist self,
const char *  here,
const char *  name,
float complex  value 
)

Insert a float complex value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe float complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new float complex property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_FLOAT_COMPLEX.

◆ cpl_propertylist_insert_int()

cpl_error_code cpl_propertylist_insert_int ( cpl_propertylist self,
const char *  here,
const char *  name,
int  value 
)

Insert a integer value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe integer value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new integer property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_INT.

◆ cpl_propertylist_insert_long()

cpl_error_code cpl_propertylist_insert_long ( cpl_propertylist self,
const char *  here,
const char *  name,
long  value 
)

Insert a long value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new long property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_LONG.

◆ cpl_propertylist_insert_long_long()

cpl_error_code cpl_propertylist_insert_long_long ( cpl_propertylist self,
const char *  here,
const char *  name,
long long  value 
)

Insert a long long value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe long long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new long long property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_LONG_LONG.

◆ cpl_propertylist_insert_property()

cpl_error_code cpl_propertylist_insert_property ( cpl_propertylist self,
const char *  here,
const cpl_property property 
)

Insert a property into a property list at the given position.

Parameters
selfProperty list
hereName indicating the position where to insert the property
propertyThe property to insert
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, property or here is a NULL pointer.

The function creates a new property and inserts it into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and cpl_property_duplicate().

◆ cpl_propertylist_insert_string()

cpl_error_code cpl_propertylist_insert_string ( cpl_propertylist self,
const char *  here,
const char *  name,
const char *  value 
)

Insert a string value into a property list at the given position.

Parameters
selfA property list.
hereName indicating the position at which the value is inserted.
nameThe property name to be assigned to the value.
valueThe string value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, here, name or value or name is a NULL pointer.
CPL_ERROR_UNSPECIFIED A property with the name name could not be inserted into self.

The function creates a new string property with name name and value value. The property is inserted into the property list self at the position of the property named here.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, CPL_ERROR_UNSPECIFIED, and CPL_TYPE_STRING.

◆ cpl_propertylist_is_empty()

int cpl_propertylist_is_empty ( const cpl_propertylist self)

Check whether a property list is empty.

Parameters
selfA property list.
Returns
The function returns 1 if the list is empty, and 0 otherwise. In case an error occurs the function returns -1 and sets an appropriate error code.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function checks if self contains any properties.

References CPL_ERROR_NULL_INPUT.

Referenced by cpl_multiframe_dataset_properties_remove(), and cpl_multiframe_dataset_properties_update().

◆ cpl_propertylist_load()

cpl_propertylist * cpl_propertylist_load ( const char *  name,
cpl_size  position 
)

Create a property list from a file.

Parameters
nameName of the input file.
positionIndex of the data set to read.
Returns
The function returns the newly created property list or NULL if an error occurred.
Errors
CPL_ERROR_NULL_INPUT The parameter name is a NULL pointer.
CPL_ERROR_ILLEGAL_INPUT The position is less than 0 or the properties cannot be read from the file name.
CPL_ERROR_FILE_IO The file name does not exist.
CPL_ERROR_BAD_FILE_FORMAT The file name is not a valid FITS file.
CPL_ERROR_DATA_NOT_FOUND The requested data set at index position does not exist.

The function reads the properties of the data set with index position from the file name.

Currently only the FITS file format is supported. The property list is created by reading the FITS keywords from extension position. The numbering of the data sections starts from 0. When creating the property list from a FITS header, any keyword without a value such as undefined keywords, are not transformed into a property. In the case of float or double (complex) keywords, there is no way to identify the type returned by CFITSIO, therefore this function will always load them as double (complex).

See also
cpl_propertylist_load_regexp()

References CPL_ERROR_BAD_FILE_FORMAT, CPL_ERROR_FILE_IO, CPL_ERROR_ILLEGAL_INPUT, CPL_ERROR_NULL_INPUT, cpl_propertylist_delete(), and cpl_propertylist_new().

◆ cpl_propertylist_load_regexp()

cpl_propertylist * cpl_propertylist_load_regexp ( const char *  name,
cpl_size  position,
const char *  regexp,
int  invert 
)

Create a filtered property list from a file.

Parameters
nameName of the input file.
positionIndex of the data set to read.
regexpRegular expression used to filter properties.
invertFlag inverting the sense of matching property names.
Returns
The function returns the newly created property list or NULL if an error occurred.
Errors
CPL_ERROR_NULL_INPUT The parameter name or the parameter regexp is a NULL pointer.
CPL_ERROR_ILLEGAL_INPUT The position is less than 0, the properties cannot be read from the file name, or regexp is not a valid extended regular expression, including the empty string..
CPL_ERROR_FILE_IO The file name does not exist.
CPL_ERROR_BAD_FILE_FORMAT The file name is not a valid FITS file.
CPL_ERROR_DATA_NOT_FOUND The requested data set at index position does not exist.

The function reads all properties of the data set with index position with matching names from the file name. If the flag invert is zero, all properties whose names match the regular expression regexp are read. If invert is set to a non-zero value, all properties with names not matching regexp are read rather. The function expects POSIX 1003.2 compliant extended regular expressions.

Currently only the FITS file format is supported. The property list is created by reading the FITS keywords from extension position. The numbering of the data sections starts from 0.

When creating the property list from a FITS header, any keyword without a value such as undefined keywords, are not transformed into a property. In the case of float or double (complex) keywords, there is no way to identify the type returned by CFITSIO, therefore this function will always load them as double (complex).

FITS format specific keyword prefixes (e.g. HIERARCH) must not be part of the given pattern string regexp, but only the actual FITS keyword name may be given.

See also
cpl_propertylist_load()

References CPL_ERROR_BAD_FILE_FORMAT, CPL_ERROR_FILE_IO, CPL_ERROR_ILLEGAL_INPUT, CPL_ERROR_NULL_INPUT, cpl_propertylist_delete(), and cpl_propertylist_new().

◆ cpl_propertylist_new()

cpl_propertylist * cpl_propertylist_new ( void  )

Create an empty property list.

Returns
The newly created property list.

The function creates a new property list and returns a handle for it. To destroy the returned property list object use the property list destructor cpl_propertylist_delete().

See also
cpl_propertylist_delete()

Referenced by cpl_dfs_setup_product_header(), cpl_propertylist_duplicate(), cpl_propertylist_load(), cpl_propertylist_load_regexp(), and cpl_wcs_platesol().

◆ cpl_propertylist_prepend_bool()

cpl_error_code cpl_propertylist_prepend_bool ( cpl_propertylist self,
const char *  name,
int  value 
)

Prepend a boolean value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe boolean value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new boolean property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_bool(), and CPL_TYPE_BOOL.

◆ cpl_propertylist_prepend_char()

cpl_error_code cpl_propertylist_prepend_char ( cpl_propertylist self,
const char *  name,
char  value 
)

Prepend a character value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe character value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new character property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_char(), and CPL_TYPE_CHAR.

◆ cpl_propertylist_prepend_double()

cpl_error_code cpl_propertylist_prepend_double ( cpl_propertylist self,
const char *  name,
double  value 
)

Prepend a double value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new double property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_double(), and CPL_TYPE_DOUBLE.

◆ cpl_propertylist_prepend_double_complex()

cpl_error_code cpl_propertylist_prepend_double_complex ( cpl_propertylist self,
const char *  name,
double complex  value 
)

Prepend a double complex value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new double complex property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_double_complex(), and CPL_TYPE_DOUBLE_COMPLEX.

◆ cpl_propertylist_prepend_float()

cpl_error_code cpl_propertylist_prepend_float ( cpl_propertylist self,
const char *  name,
float  value 
)

Prepend a float value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new float property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_float(), and CPL_TYPE_FLOAT.

◆ cpl_propertylist_prepend_float_complex()

cpl_error_code cpl_propertylist_prepend_float_complex ( cpl_propertylist self,
const char *  name,
float complex  value 
)

Prepend a float complex value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new float complex property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_float_complex(), and CPL_TYPE_FLOAT_COMPLEX.

◆ cpl_propertylist_prepend_int()

cpl_error_code cpl_propertylist_prepend_int ( cpl_propertylist self,
const char *  name,
int  value 
)

Prepend a integer value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe integer value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new integer property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_int(), and CPL_TYPE_INT.

◆ cpl_propertylist_prepend_long()

cpl_error_code cpl_propertylist_prepend_long ( cpl_propertylist self,
const char *  name,
long  value 
)

Prepend a long value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new long property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_long(), and CPL_TYPE_LONG.

◆ cpl_propertylist_prepend_long_long()

cpl_error_code cpl_propertylist_prepend_long_long ( cpl_propertylist self,
const char *  name,
long long  value 
)

Prepend a long long value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.

The function creates a new long long property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_long_long(), and CPL_TYPE_LONG_LONG.

◆ cpl_propertylist_prepend_property()

cpl_error_code cpl_propertylist_prepend_property ( cpl_propertylist self,
const cpl_property property 
)

Prepend a property to a property list.

Parameters
selfProperty list to prepend to
propertyThe property to prepend
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or property is a NULL pointer.

This function creates a new property and prepends it to the beginning of a property list. It will not check if the property already exists.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_duplicate().

◆ cpl_propertylist_prepend_string()

cpl_error_code cpl_propertylist_prepend_string ( cpl_propertylist self,
const char *  name,
const char *  value 
)

Prepend a string value to a property list.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe string value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, name or value is a NULL pointer.

The function creates a new string property with name name and value value. The property is prepended to the property list self.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_new(), cpl_property_set_string(), and CPL_TYPE_STRING.

◆ cpl_propertylist_save()

cpl_error_code cpl_propertylist_save ( const cpl_propertylist self,
const char *  filename,
unsigned  mode 
)

Save a property list to a FITS file.

Parameters
selfThe property list to save or NULL if empty
filenameName of the file to write
modeThe desired output options (combined with bitwise or)
Returns
CPL_ERROR_NONE or the relevant _cpl_error_code_ on error
Errors
CPL_ERROR_NULL_INPUT The filename is a NULL pointer.
CPL_ERROR_ILLEGAL_INPUT The parameter mode is invalid.
CPL_ERROR_FILE_IO The file cannot be written or accessed.

This function saves a property list to a FITS file, using cfitsio. The data unit is empty.

Supported output modes are CPL_IO_CREATE (create a new file) and CPL_IO_EXTEND (append to an existing file)

References cpl_ensure_code, CPL_ERROR_FILE_IO, CPL_ERROR_ILLEGAL_INPUT, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_free(), CPL_IO_CREATE, CPL_IO_EXTEND, and cpl_sprintf().

Referenced by cpl_image_save(), and cpl_vector_save().

◆ cpl_propertylist_set_bool()

cpl_error_code cpl_propertylist_set_bool ( cpl_propertylist self,
const char *  name,
int  value 
)

Set the value of the given boolean property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew boolean value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its boolean value is replaced with the boolean value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_bool().

◆ cpl_propertylist_set_char()

cpl_error_code cpl_propertylist_set_char ( cpl_propertylist self,
const char *  name,
char  value 
)

Set the value of the given character property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew character value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its character value is replaced with the character value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_char().

◆ cpl_propertylist_set_comment()

cpl_error_code cpl_propertylist_set_comment ( cpl_propertylist self,
const char *  name,
const char *  comment 
)

Modify the comment field of the given property list entry.

Parameters
selfA property list.
nameThe property name to look up.
commentNew comment string.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its comment is replaced by the string comment. The provided comment string may be NULL. In this case an already existing comment is deleted. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_set_comment().

◆ cpl_propertylist_set_double()

cpl_error_code cpl_propertylist_set_double ( cpl_propertylist self,
const char *  name,
double  value 
)

Set the value of the given double property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew double value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its double value is replaced with the double value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_double().

◆ cpl_propertylist_set_double_complex()

cpl_error_code cpl_propertylist_set_double_complex ( cpl_propertylist self,
const char *  name,
double complex  value 
)

Set the value of the given double complex property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew double complex value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its double complex value is replaced with the double complex value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_set_double_complex().

◆ cpl_propertylist_set_float()

cpl_error_code cpl_propertylist_set_float ( cpl_propertylist self,
const char *  name,
float  value 
)

Set the value of the given float property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew float value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its float value is replaced with the float value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_float().

◆ cpl_propertylist_set_float_complex()

cpl_error_code cpl_propertylist_set_float_complex ( cpl_propertylist self,
const char *  name,
float complex  value 
)

Set the value of the given float complex property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew float complex value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its float complex value is replaced with the float complex value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, and cpl_property_set_float_complex().

◆ cpl_propertylist_set_int()

cpl_error_code cpl_propertylist_set_int ( cpl_propertylist self,
const char *  name,
int  value 
)

Set the value of the given integer property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew integer value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its integer value is replaced with the integer value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_int().

◆ cpl_propertylist_set_long()

cpl_error_code cpl_propertylist_set_long ( cpl_propertylist self,
const char *  name,
long  value 
)

Set the value of the given long property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew long value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its long value is replaced with the long value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_long().

◆ cpl_propertylist_set_long_long()

cpl_error_code cpl_propertylist_set_long_long ( cpl_propertylist self,
const char *  name,
long long  value 
)

Set the value of the given long long property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew long long value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its long long value is replaced with value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_long_long().

◆ cpl_propertylist_set_string()

cpl_error_code cpl_propertylist_set_string ( cpl_propertylist self,
const char *  name,
const char *  value 
)

Set the value of the given string property list entry.

Parameters
selfA property list.
nameThe property name to look up.
valueNew string value.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, name or value is a NULL pointer.
CPL_ERROR_DATA_NOT_FOUND The property list self does not contain a property with the name name.

The function searches the property list self for a property named name. If it is present in the list, its string value is replaced with the string value. If there is more than one property with the same name, it takes the first one from the list.

References CPL_ERROR_DATA_NOT_FOUND, CPL_ERROR_NULL_INPUT, and cpl_property_set_string().

◆ cpl_propertylist_sort()

cpl_error_code cpl_propertylist_sort ( cpl_propertylist self,
cpl_propertylist_compare_func  compare 
)

Sort a property list.

Parameters
selfThe property list to sort.
compareThe function used to compare two properties.
Returns
The function returns CPL_ERROR_NONE on success, or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self is a NULL pointer.

The function sorts the property list self in place, using the function compare to determine whether a property is less, equal or greater than another one.

The function compare must be of the type cpl_propertylist_compare_func.

See also
cpl_propertylist_compare_func

References CPL_ERROR_NONE, and CPL_ERROR_NULL_INPUT.

◆ cpl_propertylist_update_bool()

cpl_error_code cpl_propertylist_update_bool ( cpl_propertylist self,
const char *  name,
int  value 
)

Update a property list with a boolean value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe boolean value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_BOOL.

The function updates the property list self with the boolean value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_BOOL.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_bool(), and CPL_TYPE_BOOL.

◆ cpl_propertylist_update_char()

cpl_error_code cpl_propertylist_update_char ( cpl_propertylist self,
const char *  name,
char  value 
)

Update a property list with a character value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe character value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_CHAR.

The function updates the property list self with the character value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_CHAR.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_char(), and CPL_TYPE_CHAR.

◆ cpl_propertylist_update_double()

cpl_error_code cpl_propertylist_update_double ( cpl_propertylist self,
const char *  name,
double  value 
)

Update a property list with a double value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_DOUBLE.

The function updates the property list self with the double value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_DOUBLE.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_double(), and CPL_TYPE_DOUBLE.

◆ cpl_propertylist_update_double_complex()

cpl_error_code cpl_propertylist_update_double_complex ( cpl_propertylist self,
const char *  name,
double complex  value 
)

Update a property list with a double complex value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe double complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_DOUBLE_COMPLEX.

The function updates the property list self with the double complex value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_DOUBLE_COMPLEX.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_double_complex(), and CPL_TYPE_DOUBLE_COMPLEX.

◆ cpl_propertylist_update_float()

cpl_error_code cpl_propertylist_update_float ( cpl_propertylist self,
const char *  name,
float  value 
)

Update a property list with a float value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_FLOAT.

The function updates the property list self with the float value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_FLOAT.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_float(), and CPL_TYPE_FLOAT.

◆ cpl_propertylist_update_float_complex()

cpl_error_code cpl_propertylist_update_float_complex ( cpl_propertylist self,
const char *  name,
float complex  value 
)

Update a property list with a float complex value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe float complex value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_FLOAT_COMPLEX.

The function updates the property list self with the float complex value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_FLOAT_COMPLEX.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_float_complex(), and CPL_TYPE_FLOAT_COMPLEX.

◆ cpl_propertylist_update_int()

cpl_error_code cpl_propertylist_update_int ( cpl_propertylist self,
const char *  name,
int  value 
)

Update a property list with a integer value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe integer value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_INT.

The function updates the property list self with the integer value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_INT.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_int(), and CPL_TYPE_INT.

◆ cpl_propertylist_update_long()

cpl_error_code cpl_propertylist_update_long ( cpl_propertylist self,
const char *  name,
long  value 
)

Update a property list with a long value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_LONG.

The function updates the property list self with the long value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_LONG.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_long(), and CPL_TYPE_LONG.

◆ cpl_propertylist_update_long_long()

cpl_error_code cpl_propertylist_update_long_long ( cpl_propertylist self,
const char *  name,
long long  value 
)

Update a property list with a long long value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe long long value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self or name is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_LONG_LONG.

The function updates the property list self with the long long value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_LONG_LONG.

References CPL_ERROR_NONE, CPL_ERROR_NULL_INPUT, cpl_property_set_long_long(), and CPL_TYPE_LONG_LONG.

◆ cpl_propertylist_update_string()

cpl_error_code cpl_propertylist_update_string ( cpl_propertylist self,
const char *  name,
const char *  value 
)

Update a property list with a string value.

Parameters
selfA property list.
nameThe property name to be assigned to the value.
valueThe string value to store.
Returns
The function returns CPL_ERROR_NONE on success or a CPL error code otherwise.
Errors
CPL_ERROR_NULL_INPUT The parameter self, name or value is a NULL pointer.
CPL_ERROR_TYPE_MISMATCH The property list self contains a property with the name name which is not of type CPL_TYPE_STRING.

The function updates the property list self with the string value value. This means, if a property with the name name exists already its value is updated, otherwise a property with the name name is created and added to self. The update will fail if a property with the name name exists already which is not of type CPL_TYPE_STRING.

References CPL_ERROR_NONE, and CPL_ERROR_NULL_INPUT.