Représentation d'un ordre partiel. More...
#include "cogitant/cs/client.h"
Public Member Functions | |
void | reserve (cogitant::nSet s) |
Réservation d'espace dans l'ensemble. More... | |
void | setSize (cogitant::nSet n) |
Fixer le nombre d'éléments. More... | |
void | clear () |
Vide l'ensemble. More... | |
void | optimize () |
Optimiser. More... | |
bool | isLessOrEqualThan (cogitant::iSet i1, cogitant::iSet i2) const |
void | getImmediateLessElements (cogitant::iSet i, std::vector< cogitant::iSet > &result) const |
void | getImmediateGreaterElements (cogitant::iSet i, std::vector< cogitant::iSet > &result) const |
bool | isImmediateLess (cogitant::iSet i1, cogitant::iSet i2) const |
bool | isLocal (cogitant::iSet i1) const |
Les éléments immédiatement plus petits que i1 sont-ils en local. More... | |
void | rawSetImmediateLess (cogitant::iSet elem, std::vector< cogitant::iSet > const &imm) |
Ajout d'un ensemble de valeurs immédiatement inférieures venant d'être transféré du serveur. More... | |
void | rawSetImmediateGreater (cogitant::iSet elem, std::vector< cogitant::iSet > const &imm) |
Ajout d'un ensemble de valeurs immédiatement supérieures venant d'être transféré du serveur. More... | |
Constructeurs - destructeur. | |
PartialOrderClient (Client *client) | |
Constructeur à vide. More... | |
~PartialOrderClient () | |
Destructeur. More... | |
Public Member Functions inherited from cogitant::PartialOrder_SimpleMemo | |
void | unoptimize () |
Supprimer les structures optimisées. More... | |
bool | isLessOrEqualThan (iSet i1, iSet i2) const |
Retourne true ssi i1 <= i2. More... | |
PartialOrder_SimpleMemo () | |
Constructeur d'un ensemble ordonné vide. More... | |
PartialOrder_SimpleMemo (PartialOrder const &c) | |
Constructeur par recopie. More... | |
virtual | ~PartialOrder_SimpleMemo () |
Destructeur. More... | |
Public Member Functions inherited from cogitant::PartialOrder_Simple | |
void | setImmediateLess (iSet i1, iSet i2) |
Ajout d'un couple à l'ordre partiel. More... | |
void | setImmediateLess (iSet i, std::vector< iSet > const &ie) |
Sélection des éléments immédiatement inférieurs. More... | |
void | unsetImmediateLess (iSet i1, iSet i2) |
Retrait de l'information i1 > i2. More... | |
nSet | maxSize () const |
Taille maximale de l'ensemble. More... | |
nSet | size () const |
Taille actuelle de l'ensemble. More... | |
bool | optimized () const |
Optimisation des structures de données. More... | |
void | getImmediateLessElements (iSet i, std::vector< iSet > &result) const |
Accès aux éléments immédiatement inférieurs. More... | |
bool | isImmediateLess (iSet i1, iSet i2) const |
Éléments immédiatement inférieurs. More... | |
PartialOrder_Simple () | |
Constructeur d'un ensemble ordonné vide. More... | |
PartialOrder_Simple (PartialOrder const &c) | |
Constructeur par recopie. More... | |
virtual | ~PartialOrder_Simple () |
Destructeur. More... | |
Public Member Functions inherited from cogitant::PartialOrder | |
PartialOrder () | |
Constructeur d'un ordre partiel. More... | |
PartialOrder (PartialOrder const &c) | |
Constructeur par recopie. More... | |
virtual | ~PartialOrder () |
Destructeur. More... | |
virtual iSet | iBegin () const |
Itérateur de début. More... | |
virtual iSet | iEnd () const |
Itérateur de fin. More... | |
virtual void | iNext (iSet &i) const |
Incrémente l'itérateur passé pour le parcours de l'ensemble. More... | |
virtual bool | isGreaterOrEqualThan (iSet i1, iSet i2) const |
Comparaison : >=. More... | |
virtual bool | isLessThan (iSet i1, iSet i2) const |
Comparaison : <. More... | |
virtual bool | isGreaterThan (iSet i1, iSet i2) const |
Comparaison : > More... | |
virtual Comparison | comparison (iSet i1, iSet i2) const |
Comparaison. More... | |
virtual void | getImmediateGreaterElements (iSet i, std::vector< iSet > &result) const |
Accès aux éléments immédiatement supérieurs. More... | |
virtual bool | isImmediateGreater (iSet i1, iSet i2) const |
Éléments immédiatement supérieurs. More... | |
bool | isLessOrEqualThanSets (std::vector< iSet > const &i1, std::vector< iSet > const &i2) const |
Comparaison : <=. More... | |
bool | isGreaterOrEqualThanSets (std::vector< iSet > const &i1, std::vector< iSet > const &i2) const |
Comparaison : >=. More... | |
virtual void | getGreaterOrEqualElements (iSet i, std::vector< iSet > &result) const |
Accès à tous les éléments supérieurs. More... | |
virtual void | getLessOrEqualElements (iSet i, std::vector< iSet > &result) const |
Accès à tous les éléments inférieurs. More... | |
Additional Inherited Members | |
Public Types inherited from cogitant::PartialOrder | |
enum | Comparison { EQUAL, LESS, GREATER, UNCOMPARABLE } |
Résultat de la comparaison de deux éléments d'un PartialOrder. More... | |
Protected Member Functions inherited from cogitant::PartialOrder | |
virtual bool | isValidIterator (iSet i1) const |
Vérification de la validité d'un identificateur. More... | |
Protected Attributes inherited from cogitant::PartialOrder_Simple | |
nSet | m_size |
Mémorisation de la taille (pour accès plus rapide). | |
Représentation d'un ordre partiel.
cogitantcs::PartialOrderClient::PartialOrderClient | ( | Client * | client | ) |
Constructeur à vide.
cogitantcs::PartialOrderClient::~PartialOrderClient | ( | ) |
Destructeur.
|
virtual |
Vide l'ensemble.
Reimplemented from cogitant::PartialOrder_SimpleMemo.
bool cogitantcs::PartialOrderClient::isLocal | ( | cogitant::iSet | i1 | ) | const |
Les éléments immédiatement plus petits que i1 sont-ils en local.
|
virtual |
Optimiser.
L'appel à cette méthode provoque un calcul des structures optimisées pour l'accès rapide à l'ordre partiel. Une fois optimisé, l'ordre partiel 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.
Reimplemented from cogitant::PartialOrder_SimpleMemo.
void cogitantcs::PartialOrderClient::rawSetImmediateGreater | ( | cogitant::iSet | elem, |
std::vector< cogitant::iSet > const & | imm | ||
) |
Ajout d'un ensemble de valeurs immédiatement supérieures venant d'être transféré du serveur.
void cogitantcs::PartialOrderClient::rawSetImmediateLess | ( | cogitant::iSet | elem, |
std::vector< cogitant::iSet > const & | imm | ||
) |
Ajout d'un ensemble de valeurs immédiatement inférieures venant d'être transféré du serveur.
|
virtual |
Réservation d'espace dans l'ensemble.
L'appel à cette méthode peut être utile dans le cas ou des appels à setImmediateLess() ou unsetImmediateLess() doivent être effectués avant que la taille définitive de l'ensemble ne soit connue. Dans ce cas, plusieurs appels à setSize() sont effectués avant d'atteindre la taille définitive et dans le cas où l'ensemble est représenté par un vector, il peut être très intéressant pour des raisons de performances de dimensionner le vector
au nombre maximum d'éléments pouvant être contenus dans l'ensemble. L'appel à cette méthode n'est donc pas obligatoire mais peut provoquer un gain de performances selon l'implémentation de la structure de données.
s | taille à réserver. |
ExceptionReadOnlyObject |
Reimplemented from cogitant::PartialOrder_Simple.
|
virtual |
Fixer le nombre d'éléments.
n | nouvelle taille (l'ensemble sur lequel l'ordre partiel est défini devient alors [0 .. n-1]). |
ExceptionReadOnlyObject |
Reimplemented from cogitant::PartialOrder_Simple.