Moka kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CEmbedding Class Reference

#include <embedding.hh>

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)
 

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
AOrbitUne 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
AEmbeddingL'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
AAttributeun 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 ( CAttribute AAttribute)

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

Parameters
AAttributeun 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::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
attribTypeun 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::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
attribTypeUn 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
AEmbeddingun 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 ( CAttribute AAttribute)

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

Parameters
AAttributeun 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 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
attribTypeun 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 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
AAttributeUn 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
AEmbeddingUn 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
AEmbeddingUn pointeur vers un CEmbedding

Definition at line 52 of file embedding.icc.


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