chfl_property type¶
- type chfl_property¶
A
chfl_propertyholds data used in properties inchfl_frame,chfl_atomandchfl_residue.A property is associated with a name and can contain data of various types: logical, real, string or 3 dimensional array (
vector3d). The property kind is used to know which kind of data is stored in the property.- Type fields:
% init [subroutine] ::
chfl_property%init()% kind [function] ::
chfl_property%kind()% bool [function] ::
chfl_property%bool()% double [function] ::
chfl_property%double()% string [function] ::
chfl_property%string()% vector3d [function] ::
chfl_property%vector3d()% free [subroutine] ::
chfl_property%free()
- subroutine chfl_property%init(value[, status])¶
This is a generic subroutine for initialization of a property. It allocate memory which must be released with
chfl_property%free().valuecan be a real number, a logical value, a string (string) or an 3-dimensional array of real numbers.- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- function chfl_property%kind([status])¶
Get the property kind, a number indicating which type of value this property holds. The possible kinds are represented by integer of the
chfl_property_kindkind.- chfl_property_kind [integer]¶
Kind parameter for the integer values describing
chfl_propertykinds.
- CHFL_PROPERTY_BOOL [integer(chfl_property_kind)]¶
Kind used for
logical(boolin C++) values.
- CHFL_PROPERTY_DOUBLE [integer(chfl_property_kind)]¶
Kind used for
real(real64)(doublein C++) values.
- CHFL_PROPERTY_STRING [integer(chfl_property_kind)]¶
Kind used for
string(std::stringin C++) values.
- CHFL_PROPERTY_VECTOR3D [integer(chfl_property_kind)]¶
Kind used for
real(real64), dimension(3)(vector3din C++) values.
- Return:
integer (chfl_property_kind)
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- function chfl_property%bool([status])¶
Get the logical value stored in this property. If the property do not store a logical value,
statuswill beCHFL_PROPERTY_ERROR.- Return:
logical
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- function chfl_property%double([status])¶
Get the real value stored in this property. If the property do not store a real value,
statuswill beCHFL_PROPERTY_ERROR.- Return:
real [real64]
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- function chfl_property%string([status])¶
Get the string stored in this property. If the property do not store a string,
statuswill beCHFL_PROPERTY_ERROR. If the string is longer thanCHFL_STRING_LENGTH, it will be truncated.- Return:
character (len=CHFL_STRING_LENGTH)
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- function chfl_property%vector3d([status])¶
Get the 3 dimensional array value stored in this property. If the property do not store an array,
statuswill beCHFL_PROPERTY_ERROR.- Return:
real [dimension(3), kind(real64)]
- Options:
status [integer(chfl_status)] :: status code of the operation. If it is not
CHFL_SUCCESS, usechfl_last_error()to learn more about the error.
- subroutine chfl_property%free()¶
Destroy a property, and free the associated memory