MIF31 - Projet 2013
 All Classes Files Functions Variables Friends
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
node< T > Class Template Reference

Public Member Functions

 node ()
 Constructeur par défaut. More...
 
 node (pIntelligent< T > *ptrI)
 Constructeur. More...
 
 node (const node< T > &n)
 Constructeur par copie. More...
 
 ~node ()
 Destructeur de la classe template node. More...
 
void clear ()
 Procédure de destruction des liens. More...
 
bool findChild (const node< T > *n) const
 Fonction de recherche de noeud enfant. More...
 
bool findParent (const node< T > *n) const
 Fonction de recherche de noeud parent. More...
 
void addParent (node< T > *n)
 Procédure d'ajout d'un noeud parent. More...
 
void removeParent (node< T > *n)
 Procédure de suppression d'un noeud parent. More...
 
void removeChild (node< T > *n)
 Procédure de suppression d'un noeud parent. More...
 
void check ()
 Procédure de validation du noeud. More...
 
bool hasChild () const
 Connaitre la présence d'enfants. More...
 
bool hasParent () const
 Connaitre la présence de parents. More...
 
int getState () const
 Retourne l'état du noeud. More...
 
void setState (int n)
 Affect l'état du noeud. More...
 
node< T > & operator= (const node< T > &n)
 Opérateur d'affectation. More...
 
bool operator== (const node< T > &n) const
 Opérateur d'égalité More...
 

Protected Member Functions

void addChild (node< T > *n)
 Procédure d'ajout d'un noeud enfant. More...
 

Protected Attributes

pIntelligent< T > * ptrI
 Pointeur vers un pointeur intelligent.
 
std::vector< node< T > * > parents
 Vecteur de pointeurs sur les node parents.
 
std::vector< node< T > * > children
 Vecteur de pointeurs sur les node enfants.
 
int state
 Etat du noeud. More...
 

Constructor & Destructor Documentation

template<typename T>
node< T >::node ( )
inline

Constructeur par défaut.

Constructeur par défaut de la classe template node.

template<typename T>
node< T >::node ( pIntelligent< T > *  ptrI)
inline

Constructeur.

Constructeur de la classe template node.

Parameters
pIntelligent<T>*: Pointeur d'un pointeur intelligent
template<typename T>
node< T >::node ( const node< T > &  n)
inline

Constructeur par copie.

Constructeur par copie de la classe template node.

Parameters
node<T>&: référence constante vers une instance de node
template<typename T>
node< T >::~node ( )
inline

Destructeur de la classe template node.

Destructeur de la classe template node qui appelle la fonction clear().

Member Function Documentation

template<typename T>
void node< T >::addChild ( node< T > *  n)
inlineprotected

Procédure d'ajout d'un noeud enfant.

Procédure qui va ajouter le noeud passé en paramètre aux enfants du noeud si celui-ci n'existe pas déjà.

Parameters
node<T>*: pointeur vers un noeud
template<typename T>
void node< T >::addParent ( node< T > *  n)
inline

Procédure d'ajout d'un noeud parent.

Procédure qui va ajouter le noeud passé en paramètre aux parents du noeud si celui-ci n'existe pas déjà, puis va ajouter lui même comme enfant du noeud parent.

Parameters
node<T>*: pointeur vers un noeud
template<typename T>
void node< T >::check ( )
inline

Procédure de validation du noeud.

Procédure de validation du noeud : elle va assicier l'état 1 à chacun de ses enfants, puis passer à l'état 2 pour indiquer qu'elle est valide.

template<typename T>
void node< T >::clear ( )
inline

Procédure de destruction des liens.

Procédure qui va retirer chez chacun de ses parents et enfants la référence vers elle ainsi que ses propres références.

template<typename T>
bool node< T >::findChild ( const node< T > *  n) const
inline

Fonction de recherche de noeud enfant.

Fonction qui va rechercher si un noeud est présent dans ses enfants.

Parameters
constnode<T>* : pointeur constant vers un noeud
Returns
bool : vrai si le noeud a été trouvé, faux sinon
template<typename T>
bool node< T >::findParent ( const node< T > *  n) const
inline

Fonction de recherche de noeud parent.

Fonction qui va rechercher si un noeud est présent dans les parents du node.

Parameters
constnode<T>* : pointeur constant vers un noeud
Returns
bool : vrai si le noeud a été trouvé, faux sinon
template<typename T>
int node< T >::getState ( ) const
inline

Retourne l'état du noeud.

Fonction qui retourne l'état du noeud : 0 => pas encore vu 1 => parent ok 2 => noeud ok

Returns
int : état du noeud
template<typename T>
bool node< T >::hasChild ( ) const
inline

Connaitre la présence d'enfants.

Fonction booléenne permettant de savoir si le noeud a des enfants.

Returns
bool : vrai si le noeud à au moins 1 enfant, faux sinon
template<typename T>
bool node< T >::hasParent ( ) const
inline

Connaitre la présence de parents.

Fonction booléenne permettant de savoir si le noeud a des parents.

Returns
bool : vrai si le noeud à au moins 1 parent, faux sinon
template<typename T>
node<T>& node< T >::operator= ( const node< T > &  n)
inline

Opérateur d'affectation.

Opérateur d'affectation de la classe template node.

Parameters
constnode<T>& : référence constante vers un node
Returns
node<T>& : référence vers un node
template<typename T>
bool node< T >::operator== ( const node< T > &  n) const
inline

Opérateur d'égalité

Opérateur d'égalité de la classe template node. La comparaison n'est faire que sur l'égalité des pointeurs intelligents.

Parameters
constnode<T>& : référence constante vers un node
Returns
bool : vrai si le node et celui passé en paramètre sont égaux, faux sinon.
template<typename T>
void node< T >::removeChild ( node< T > *  n)
inline

Procédure de suppression d'un noeud parent.

Procédure qui va retirer aux parents du noeud le noeud passé en paramètre.

Parameters
node<T>*: pointeur vers un noeud
template<typename T>
void node< T >::removeParent ( node< T > *  n)
inline

Procédure de suppression d'un noeud parent.

Procédure qui va retirer aux parents du noeud le noeud passé en paramètre.

Parameters
node<T>*: pointeur vers un noeud
template<typename T>
void node< T >::setState ( int  n)
inline

Affect l'état du noeud.

Procédure qui affect l'état du noeud : 0 => pas encore vu 1 => parent ok 2 => noeud ok

Parameters
int: état du noeud

Member Data Documentation

template<typename T>
int node< T >::state
protected

Etat du noeud.

0 => pas encore vu 1 => parent ok 2 => noeud ok


The documentation for this class was generated from the following file: