Référence de la classe Millie::Clonable

#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:

Inheritance graph
[légende]
Liste de tous les membres

Fonctions membres publiques

virtual Clonableclone () const=0
 la méthode a appeler pour cloner l'objet
virtual ~Clonable ()

Description détaillée

Cette interface permet de définir des objets qui seront clonable En effet, il est souvent nécessaire de pouvoir stocker des classes polymorphiques, en implémentant la méthode clone, il est possible de faire cela. Typiquement une classe héritant de Clonable peut être défini comme suit :
     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.


Documentation des contructeurs et destructeur

virtual Millie::Clonable::~Clonable (  )  [inline, virtual]

destructeur pour éviter les ennuis

Définition à la ligne 87 du fichier Clonable.hpp.


Documentation des fonctions membres

virtual Clonable* Millie::Clonable::clone (  )  const [pure virtual]

la méthode a appeler pour cloner l'objet

Renvoie:
un clone de 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.


La documentation de cette classe a été générée à partir du fichier suivant :
Généré le Fri May 18 23:25:03 2007 pour Millie par  doxygen 1.5.1