#include <Clonable.hpp>
Dérivée par Millie::ClonableThread, Millie::CMaskFactory, Millie::DiffusionFlow, Millie::LocalAreaOperator, Millie::LocalComponentsPointOperator, Millie::LocalPointOperator, Millie::LocalRGBPointOperator, Millie::Operator, Millie::PeronaMalikFlow, et Millie::RGBOperator.
Graphe d'héritage de Millie::Clonable:
Fonctions membres publiques | |
virtual Clonable * | clone () const=0 |
la méthode a appeler pour cloner l'objet | |
virtual | ~Clonable () |
class A : public Clonable { public: A() {...} //constructeur par recopie A(const A& a) {...} A * clone() const { return new A(*this); } };
Il est nécessaire que la méthode ne renvoit pas une classe qui partage la mémoire (sauf cas particulier). En effet, cette classe devrait pouvoir être utilisé dans le cas suivante :
A * a = new A(); A * pa = a->clone(); delete a; pa // toujours correctement utilisable
Définition à la ligne 73 du fichier Clonable.hpp.
virtual Millie::Clonable::~Clonable | ( | ) | [inline, virtual] |
destructeur pour éviter les ennuis
Définition à la ligne 87 du fichier Clonable.hpp.
virtual Clonable* Millie::Clonable::clone | ( | ) | const [pure virtual] |
la méthode a appeler pour cloner l'objet
Implémenté dans Millie::ClonableThread, Millie::MTConvolveOperator, Millie::MTAreaOperator, Millie::MTNeighbourPeronaMalikFilter, Millie::MTPeronaMalikFilter, Millie::MTSimplePeronaMalikFilter, Millie::AreaOperator, Millie::CFilter, Millie::CMaskFactory, Millie::CMaskFactoryGaussianBlur, Millie::CMaskFactoryHighPass, Millie::CMaskFactoryLowPass, Millie::CMaskFactoryMotionBlur, Millie::CMaskFactoryInverseMotionBlur, Millie::ComponentsPointOperator, Millie::ConvolveLocalOperator, Millie::ConvolveOperator, Millie::DiffusionFilter, Millie::SpeedDiffusionFilter, Millie::DiffusionFlow, Millie::HypersurfaceDiffusionFilter, Millie::HypersurfaceFlow, Millie::ThikonovDiffusionFilter, Millie::ThikonovFlow, Millie::VariationDiffusionFilter, Millie::VariationFlow, Millie::InverseLocalOperator, Millie::InverseOperator, Millie::IterativeOperator, Millie::LocalAreaOperator, Millie::LocalComponentsPointOperator, Millie::LocalPointOperator, Millie::MedianFilter, Millie::MedianLocalFilter, Millie::CloseOperator, Millie::DilateLocalOperator, Millie::DilateOperator, Millie::ErodeLocalOperator, Millie::ErodeOperator, Millie::OpenLocalOperator, Millie::OpenOperator, Millie::NagaoLocalOperator, Millie::NagaoOperator, Millie::GaussianNoiseGenerator, Millie::LocalGaussianNoiseGenerator, Millie::LocalUniformNoiseGenerator, Millie::UniformNoiseGenerator, Millie::Operator, Millie::NeighbourPeronaMalikFilter, Millie::NeighbourPeronaMalikFlow, Millie::PeronaMalikFilter, Millie::PeronaMalikFlow, Millie::SimplePeronaMalikFilter, Millie::SimplePeronaMalikFlow, Millie::PointOperator, Millie::LocalRGBPointOperator, Millie::RGBOperator, Millie::RGBPointOperator, Millie::AlvarezShockFilter, Millie::ComplexShockFilter, Millie::ShockFilter, Millie::SimpleShockFilter, Millie::RGBThresholdLocalOperator, Millie::RGBThresholdOperator, Millie::ThresholdLocalOperator, Millie::ThresholdLocalComponentsOperator, Millie::ThresholdOperator, et Millie::ComponentsThresholdOperator.