libXpertMassCore and libXpertMassGui Developer Documentation

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