CEmbedding Class Reference

#include <embedding.hh>

Collaboration diagram for CEmbedding:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CEmbedding (TOrbit AOrbit)
 CEmbedding (const CEmbedding &AEmbedding)
 ~CEmbedding ()
CEmbeddingcopy () const
void destroy ()
TOrbit getOrbit () const
CEmbeddinggetNext () const
void setNext (CEmbedding *AEmbedding)
CEmbeddinggetPrev () const
void setPrev (CEmbedding *AEmbedding)
CAttributegetFirstAttribute () const
void setFirstAttribute (CAttribute *AAttribute)
bool isEmpty () const
CAttributegetAttribute (TAttributeId AAttribType) const
void addAttribute (CAttribute *AAttribute)
CAttributeremoveAttribute (CAttribute *AAttribute)
CAttributeremoveAttribute (TAttributeId attribType)
void deleteAttribute (CAttribute *AAttribute)
void deleteAttribute (TAttributeId attribType)
void mergeAttribute (CEmbedding *AEmbedding)

Private Attributes

CAttributeFFirstAttribute
TOrbit FId
CEmbeddingFPrev
CEmbeddingFNext


Detailed Description

Cette classe représente une liste d'attributs associés à la même orbite. Les méthodes de cette classe permettent d'ajouter, supprimer, chercher... un attribut particulier. La plupart de ces méthodes ne font pas de contrôle car elles sont appelées de CDart.

Author:
MOKA TEAM

Definition at line 42 of file embedding.hh.


Constructor & Destructor Documentation

INLINE CEmbedding::CEmbedding ( TOrbit  AOrbit  ) 

Construction d'une nouvelle instance de la classe. Le champ id est initialisé. La liste d'attribut est initialisée à vide.

Parameters:
AOrbit Une orbite
Returns:
Une nouvelle instance de la classe

Definition at line 82 of file embedding.icc.

INLINE CEmbedding::CEmbedding ( const CEmbedding AEmbedding  ) 

Construction par recopie d'une nouvelle instance de la classe.

Parameters:
AEmbedding L'instance à recopier
Returns:
Une nouvelle instance de la classe

Definition at line 91 of file embedding.icc.

INLINE CEmbedding::~CEmbedding (  ) 

Destruction de l'instance. Tous les attributs de la liste sont éventuellement détruits par l'appel de la méthode destroy de la classe attribut.

Definition at line 108 of file embedding.icc.


Member Function Documentation

INLINE void CEmbedding::addAttribute ( CAttribute AAttribute  ) 

Ajoute l'attribut dans la liste

Parameters:
AAttribute un pointeur vers un CAttribute
getAttribute(AAttribute->getType()) == NULL AAttribute->getPrev() == AAttribute->getNext() == NULL

Definition at line 144 of file embedding.icc.

INLINE CEmbedding * CEmbedding::copy (  )  const

Méthode pour recopier un CEmbedding.

Construction d'une nouvelle instance de la classe. La liste des attributs de cette instance est initialisée par l'appel de la méthode copy sur chaque attribut de AEmbedding. Le champ id est initialisé avec la même orbite que celle de AEmbedding

Returns:
Une copie de l'instance. Cette copie peut etre l'instance elle-même. (par exemple si l'on veut des embedding partages.)
Equivalent d'un constructeur par recopie. La liste des attributs de cette instance est initialisée par l'appel de la méthode copy() sur chaque attribut de l'instance. Le champ FId est initialisé avec la même orbite que celle de l'instance.

Definition at line 168 of file embedding.icc.

INLINE void CEmbedding::deleteAttribute ( TAttributeId  AAttribType  ) 

Enlève l'attribut ayant l'identifiant attribType de la liste et le détruit eventuellement en appelant la méthode destroy sur cet attribut. Si aucun attribut n'est de ce type, ne fait rien.

Parameters:
attribType un TAttributeId
Enlève l'attribut ayant l'identifiant AAttribType de la liste et le détruit éventuellement en appelant la méthode destroy() sur cet attribut. Si aucun attribut n'est de ce type, ne fait rien.

Definition at line 253 of file embedding.icc.

INLINE void CEmbedding::deleteAttribute ( CAttribute AAttribute  ) 

Enlève l'attribut de la liste et le détruit eventuellement en appelant la méthode destroy sur cet attribut.

Parameters:
AAttribute un pointeur vers un CAttribute
AAttribute fait partie de la liste des atributs de l'instance

Enlève l'attribut de la liste et le détruit éventuellement en appelant la méthode destroy() sur cet attribut. Précondition : l'attribut doit appartenir à la liste des attributs.

Definition at line 239 of file embedding.icc.

INLINE void CEmbedding::destroy (  ) 

Méthode pour suprimer un CEmbedding.

Méthode pendante de la méthode copy. Si la méthode copy cré une nouvelle instance, la methode destroy doit la détruire. Dans le cas d'embedding partagés, on peut par exemple compter le nombre de réferences.

Méthode pendante de copy, qui se charge de détruire ce qu'il faut. Ici, delete this appelle le destructeur qui va détruire les attributs.

Definition at line 178 of file embedding.icc.

INLINE CAttribute * CEmbedding::getAttribute ( TAttributeId  AAttribType  )  const

Cherche s'il existe un attribut dans la liste ayant comme identifiant attribType. Si oui retourne un pointeur vers cet attribut, sinon retourne NULL.

Parameters:
attribType Un TAttributeId
Returns:
Un pointeur vers un CAttribute

Definition at line 128 of file embedding.icc.

INLINE CAttribute * CEmbedding::getFirstAttribute (  )  const

Accesseur en lecture du premier attribut de la liste

Definition at line 70 of file embedding.icc.

INLINE CEmbedding * CEmbedding::getNext (  )  const

Accesseur en lecture du prochain CEmbedding dans la liste

Le chaînage des CEmbedding est effectué dans cette classe. Cet accesseur permet de récuperer le prochain CEmbedding dans cette liste.

Definition at line 58 of file embedding.icc.

INLINE TOrbit CEmbedding::getOrbit (  )  const

Accesseur en lecture de l'orbite de l'instance

Definition at line 122 of file embedding.icc.

INLINE CEmbedding * CEmbedding::getPrev (  )  const

Accesseur en lecture du précédent CEmbedding dans la liste

Returns:
Un pointeur vers un CEmbedding
Un CEmbedding est une liste de CAttribute associés à la même orbite

Rappels:

// Premier CAttribute de la liste : CAttribute* FFirstAttrib;

// Identifiant de l'orbite : TOrbit FId;

// Chaînage des CEmbedding, utilisé par CDart : CEmbedding* FPrev; CEmbedding* FNext;

Definition at line 46 of file embedding.icc.

INLINE bool CEmbedding::isEmpty (  )  const

Accesseur pour tester si la liste des attributs est vide

Returns:
Un booléen indiquant si la liste est vide

Definition at line 296 of file embedding.icc.

INLINE void CEmbedding::mergeAttribute ( CEmbedding AEmbedding  ) 

Ajoute tout les attributs de AEmbedding non présent dans la liste des attributs de l'instance dans cette liste. Ces attributs sont enlevés de la liste des attributs de AEmbedding.

Parameters:
AEmbedding un pointeur vers un CEmbedding
l'instance et AEmbedding concernent la même orbite

Ajoute tous les attributs de AEmbedding non présents dans la liste des attributs de l'instance dans cette liste. Ces attributs sont enlevés de la liste des attributs de AEmbedding. Précondition : l'instance et AEmbedding concernent la même orbite.

Definition at line 268 of file embedding.icc.

INLINE CAttribute * CEmbedding::removeAttribute ( TAttributeId  AAttribType  ) 

Enlève l'attribut ayant l'identifiant attribType de la liste. Si aucun attribut n'est de ce type, alors retourne NULL.

Parameters:
attribType un TAttributeId
Returns:
Le pointeur vers l'attribut enlevé de la liste, ou NULL
Enlève l'attribut ayant l'identifiant AAttribType de la liste et retourne un pointeur vers cet attribut. Si aucun attribut n'est de ce type, alors retourne NULL.

Definition at line 223 of file embedding.icc.

INLINE CAttribute * CEmbedding::removeAttribute ( CAttribute AAttribute  ) 

Enlève (sans le détruire) l'attribut de la liste.

Parameters:
AAttribute un pointeur vers un CAttribute
Returns:
Le pointeur vers l'attribut enlevé de la liste
AAttribute fait partie de la liste des attributs de l'instance.

Enlève l'attribut passé en paramètre de la liste des attributs. Retourne un pointeur vers cet attribut. Précondition : l'attribut fait partie de la liste des attributs de l'instance.

Definition at line 190 of file embedding.icc.

INLINE void CEmbedding::setFirstAttribute ( CAttribute AAttribute  ) 

Accesseur en écriture du premier attribut de la liste Affecte le premier attribut de la liste qui est désormais AAttribute

Parameters:
AAttribute Un pointeur vers un CAttribute

Definition at line 76 of file embedding.icc.

INLINE void CEmbedding::setNext ( CEmbedding AEmbedding  ) 

Modifie le chainage des CEmbedding. L'embedding suivant de l'instance est désormais AEmbedding.

Parameters:
AEmbedding Un pointeur vers un CEmbedding

Definition at line 64 of file embedding.icc.

INLINE void CEmbedding::setPrev ( CEmbedding AEmbedding  ) 

Modifie le chainage des CEmbedding. L'CEmbedding précédent de l'instance est désormais AEmbedding.

Parameters:
AEmbedding Un pointeur vers un CEmbedding

Definition at line 52 of file embedding.icc.


Member Data Documentation

Pointeur vers le premier CAttribute de la liste.

Definition at line 239 of file embedding.hh.

Identifiant de l'orbite de l'instance.

Definition at line 242 of file embedding.hh.

Definition at line 246 of file embedding.hh.

Pour le double-chainage des CEmbedding, utilisé par la classe CDart.

Definition at line 245 of file embedding.hh.


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

Generated on Tue Jul 7 15:20:26 2009 for Moka gmapkernel by  doxygen 1.5.8