Moka kernel
|
#include <embedding.hh>
Public Member Functions | |
CEmbedding (TOrbit AOrbit) | |
CEmbedding (const CEmbedding &AEmbedding) | |
~CEmbedding () | |
CEmbedding * | copy () const |
void | destroy () |
TOrbit | getOrbit () const |
CEmbedding * | getNext () const |
void | setNext (CEmbedding *AEmbedding) |
CEmbedding * | getPrev () const |
void | setPrev (CEmbedding *AEmbedding) |
CAttribute * | getFirstAttribute () const |
void | setFirstAttribute (CAttribute *AAttribute) |
bool | isEmpty () const |
CAttribute * | getAttribute (TAttributeId AAttribType) const |
void | addAttribute (CAttribute *AAttribute) |
CAttribute * | removeAttribute (CAttribute *AAttribute) |
CAttribute * | removeAttribute (TAttributeId attribType) |
void | deleteAttribute (CAttribute *AAttribute) |
void | deleteAttribute (TAttributeId attribType) |
void | mergeAttribute (CEmbedding *AEmbedding) |
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.
Definition at line 42 of file embedding.hh.
Construction d'une nouvelle instance de la classe. Le champ id est initialisé. La liste d'attribut est initialisée à vide.
AOrbit | Une orbite |
Definition at line 82 of file embedding.icc.
INLINE CEmbedding::CEmbedding | ( | const CEmbedding & | AEmbedding | ) |
Construction par recopie d'une nouvelle instance de la classe.
AEmbedding | L'instance à recopier |
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.
INLINE void CEmbedding::addAttribute | ( | CAttribute * | AAttribute | ) |
Ajoute l'attribut dans la liste
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
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.
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::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.
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::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.
attribType | Un TAttributeId |
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.
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
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
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.
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 | ( | CAttribute * | AAttribute | ) |
Enlève (sans le détruire) l'attribut de la liste.
AAttribute | un pointeur vers un CAttribute |
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.
attribType | un TAttributeId |
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
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.
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.
AEmbedding | Un pointeur vers un CEmbedding |
Definition at line 52 of file embedding.icc.