Properties

SSlib uses property lists to pass miscellaneous information to various functions, to pass properties through entire layers of the library, and as a mechanism to message pass information between MPI tasks. It relies heavily on HDF5’s datatype description interface and data conversion functionality. The property list class ss_prop_t is a subclass of ss_obj_t and therefore has a magic number (see *Magic Numbers*).

Property lists are created and destroyed with ss_prop_new, ss_prop_dup, ss_prop_cons, and ss_prop_dest.

Once a property list exists, properties can be added and initialized to default values with ss_prop_add. The various ss_prop_set and ss_prop_get functions and their variants set and retrieve values of individual properties. The ss_prop_buffer function is similar to the ss_prop_get functions, but returns a pointer without copying the memory, and ss_prop_type returns a datatype instead of the value.

The ss_prop_appendable, ss_prop_modifiable, and ss_prop_immutable define (or query) what operations can be performed on a property list.