#include <smartptr.hpp>
Graphe d'héritage de la classe fenkys_utils::base_smart_ptr< T >
Types Publics | |
typedef void(* | destroy_function )(T *) |
Membres publics | |
base_smart_ptr () | |
Constructeur par defaut. | |
base_smart_ptr (T *) | |
Associe un pointeur a un smart pointer. | |
base_smart_ptr (base_smart_ptr< T > const &) | |
Copie un smart pointer. | |
virtual | ~base_smart_ptr () |
Destructeur. | |
virtual base_smart_ptr & | operator= (T *)=0 |
Operateur d'affectation de pointeur. | |
operator T * () | |
Convertit le smart pointer en T*. | |
operator T const * () const | |
Convertit le smart pointer en T const *. | |
T * | operator-> () |
Renvoie un pointeur sur l'objet géré. | |
T const * | operator-> () const |
Renvoie un pointeur sur l'objet constant géré. | |
T & | operator * () |
Renvoie une reference sur l'objet géré. | |
T const & | operator * () const |
Renvoie une reference sur l'objet constant géré. | |
T * | Reaffect (T *) |
Change le pointeur sans changer le compteur. | |
int | Ref () const |
Renvoie le nombre de reference sur l'objet. | |
void | SetDestroyFunction (destroy_function) |
Definit la fonction de destructtion de l'objet. | |
void | SetPersistent (bool=true) |
positionne l'etat persistant du pointeur géré | |
Membres protégés | |
void | Swap (base_smart_ptr< T > &) |
Echange le contenu de l'objet courant avec celui d'un autre de meme type. | |
Attributs Protégés | |
base_smart_ptr_base< T > * | Smart |
Classe de base des smart_ptr
|
Type des fonctions personnalisée appelée par le base_smart_ptr pour detruire l'objet géré. |
|
Constructeur par defaut.
|
|
Associe un pointeur a un smart pointer. Le compteur d'instance est crée et positionné sur 1. Puis le pointeur est recopié dans la structure
|
|
Copie un smart pointer. Le compteur d'instance existe, il est incrementé de 1 et le pointeur du compteur est recopié. Il n'existe pas de version const du constructeur car le pointeur de l'objet géré ne peut pas etre de type const.
|
|
Destructeur.
|
|
Renvoie une reference sur l'objet constant géré. Renvoie une reference constante sur l'objet pointé ou NULL si ce pointeur n'existe pas.
|
|
Renvoie une reference sur l'objet géré. Renvoie une reference sur l'objet pointé ou NULL si ce pointeur n'existe pas.
|
|
Convertit le smart pointer en T*. Renvoie le pointeur correspondant a l'objet géré ou NULL si ce pointeur n'existe pas.
|
|
Convertit le smart pointer en T const *. Renvoie le pointeur constant correspondant a l'objet géré ou NULL si ce pointeur n'existe pas.
|
|
Renvoie un pointeur sur l'objet constant géré. Renvoie un pointeur constant correspondant a l'objet pointé ou NULL si ce pointeur n'existe pas.
|
|
Renvoie un pointeur sur l'objet géré. Renvoie le pointeur correspondant a l'objet pointé ou NULL si ce pointeur n'existe pas.
|
|
|
Change le pointeur sans changer le compteur. Cette fonctionnalité permet de gerer des objets complexes tels que les listes chainés ou le pointeur de base est susceptible de changer alors que l'objet global est toujours le meme.
|
|
Renvoie le nombre de reference sur l'objet.
|
|
Definit la fonction de destructtion de l'objet. Si la fonction est definie elle sera appelée lors de la destruction de l'objet, sinon c'est avec delete que l'objet sera detruit. La fonction doit avoir le prototype suivant : void function(T*);. Cette fonction doit etre uen fonction ou un membre statique de classe.
|
|
positionne l'etat persistant du pointeur géré Dans l'etat persistent, meme quand le compteur tombe a zero, le pointeur n'est pas detruit.
|
|
Echange le contenu de l'objet courant avec celui d'un autre de meme type. Dans l'etat persistent, meme quand le compteur tombe a zero, le pointeur n'est pas detruit.
|
|
|