| <large>libXpertMassCore and libXpertMassGui Developer Documentation</large>

# The property system

The property system developed in the context of the libXpertMassCore library is aimed at easing the aggregation of typed data (integers, doubles, MsXpS::libXpertMassCore::Modifs, MsXpS::libXpertMassCore::ChemicalGroups...) to objects that derive from the MsXpS::libXpertMassCore::PropListHolder class.

The abstract base class is the MsXpS::libXpertMassCore::Prop class. The member data are the MsXpS::libXpertMassCore::Prop::m_name string and the MsXpS::libXpertMassCore::Prop::mpa_data pointer to void.

From that class, type-specific classes are derived where the member data are of that specific type. For example, the data in the MsXpS::libXpertMassCore::ModifProp class are of type MsXpS::libXpertMassCore::Modif.

The data in the Prop-derived instance are automatically deleted by the deleteData() function.

Only the MsXpS::libXpertMassCore::NoDeletePointerProp Prop-derived class has as member data a pointer to data that are not deleted when the property instance is destructed.

MsXpS::libXpertMassCore::ChemicalGroupProp | Prop instance of which the member data points to a dynamically allocated ChemicalGroup instance
MsXpS::libXpertMassCore::DoubleProp | The specialized class for properties that hold data in the form of double values
MsXpS::libXpertMassCore::IntProp | The specialized class for properties that hold data in the form of integer values
MsXpS::libXpertMassCore::NoDeletePointerProp | Pointer property
MsXpS::libXpertMassCore::Prop | The abstract base class for a number of specialized properties
MsXpS::libXpertMassCore::PropListHolder | The base class for a number of classes that need storing Prop instances
MsXpS::libXpertMassCore::StringProp | The specialized class for properties that hold data in the form of string objects