Une implémentation simple d'un ensemble de types bannis (sous la forme d'une liste). More...
#include "cogitant/bannedtypes.h"
Classes | |
class | Iterator_Simple |
Itérateur permettant de parcourir tous les types conjonctifs de l'ensemble de types bannis. More... | |
Public Member Functions | |
Constructeurs - destructeur. | |
BannedTypes_Simple () | |
Constructeur. More... | |
BannedTypes_Simple (BannedTypes const &o) | |
Constructeur par recopie. More... | |
~BannedTypes_Simple () | |
Destructeur. More... | |
Modifications. | |
void | clear () |
Vide l'ensemble. More... | |
void | addBannedType (ConceptType::ConjunctiveType const &b) |
Ajout d'un type banni. More... | |
void | delBannedType (ConceptType::ConjunctiveType const &b) |
Supprime un type banni. More... | |
void | optimize () |
Optimiser. More... | |
Accesseurs. | |
bool | optimized () const |
Optimisation des structures de données. More... | |
Iterator * | iterator () const |
Retourne un iterateur (alloué dynamiquement) permettant de parcourir la structure. More... | |
nSet | size () const |
Nombre de types bannis. More... | |
bool | isBanned (ConceptType::ConjunctiveType const &t) const |
Recherche. More... | |
bool | hasBannedType (ConceptType::ConjunctiveType const &t) const |
Est-ce que l'ensemble de type a "exactement" ce type banni-là. More... | |
Public Member Functions inherited from cogitant::BannedTypes | |
BannedTypes () | |
Constructeur. More... | |
virtual | ~BannedTypes () |
Destructeur. More... | |
virtual void | setPartialOrder (PartialOrder const *po) |
Fixe l'ordre partiel défini sur l'ensemble de types associé. More... | |
void | addAllBannedTypes (std::vector< iSet > const &b) |
Ajout d'un ensemble de couples de types bannis. More... | |
Protected Member Functions | |
bool | iteratorNext (Iterator *it) const |
Passage à l'élément suivant de l'itérateur. More... | |
std::vector< iSet > const & | iteratorGetCurrent (Iterator const *it) const |
Accès à l'élément courant de l'itérateur. More... | |
Additional Inherited Members | |
Protected Attributes inherited from cogitant::BannedTypes | |
PartialOrder const * | m_partialorder |
Ordre partiel sur les types primitifs repérés dans l'ensemble de types bannis. More... | |
Une implémentation simple d'un ensemble de types bannis (sous la forme d'une liste).
Cette classe ne fournit pas de méthode d'optimisation.
cogitant::BannedTypes_Simple::BannedTypes_Simple | ( | ) |
Constructeur.
cogitant::BannedTypes_Simple::BannedTypes_Simple | ( | BannedTypes const & | o | ) |
Constructeur par recopie.
cogitant::BannedTypes_Simple::~BannedTypes_Simple | ( | ) |
Destructeur.
|
virtual |
Ajout d'un type banni.
ExceptionReadOnlyObject | |
ExceptionAlreadyPresent |
Implements cogitant::BannedTypes.
|
virtual |
Vide l'ensemble.
Implements cogitant::BannedTypes.
|
virtual |
Supprime un type banni.
Implements cogitant::BannedTypes.
|
virtual |
Est-ce que l'ensemble de type a "exactement" ce type banni-là.
Implements cogitant::BannedTypes.
|
virtual |
Recherche.
Contrairement à hasBannedType(), cette méthode utilise l'ordre sur les types de concepts, dans la majorité des cas, c'est donc isBanned() qui soit être utilisée.
true
ssi le type conjonctif passé est interdit. Implements cogitant::BannedTypes.
|
virtual |
Retourne un iterateur (alloué dynamiquement) permettant de parcourir la structure.
Implements cogitant::BannedTypes.
|
protectedvirtual |
Accès à l'élément courant de l'itérateur.
Implements cogitant::BannedTypes.
|
protectedvirtual |
Passage à l'élément suivant de l'itérateur.
Implements cogitant::BannedTypes.
|
virtual |
Optimiser.
L'appel à cette méthode provoque un calcul des structures optimisées pour l'accès rapide à l'opération de recherche. Une fois optimisé, l'ensemble ne doit plus être modifié. Cette méthode doit être concrétisée dans les sous classes (éventuellement avec un code vide) et fournir une éventuelle optimisation.
Implements cogitant::BannedTypes.
|
virtual |
Optimisation des structures de données.
Si les structures de données sont optimisées, plus aucune modification ne peut être effectuée.
true
ssi la structure de données est optimisée. Implements cogitant::BannedTypes.
|
virtual |
Nombre de types bannis.
Implements cogitant::BannedTypes.