Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | List of all members
cogitantcs::PartialOrderClient Class Reference

Représentation d'un ordre partiel. More...

#include "cogitant/cs/client.h"

Inheritance diagram for cogitantcs::PartialOrderClient:
cogitant::PartialOrder_SimpleMemo cogitant::PartialOrder_Simple cogitant::PartialOrder

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).
 

Detailed Description

Représentation d'un ordre partiel.

Constructor & Destructor Documentation

cogitantcs::PartialOrderClient::PartialOrderClient ( Client client)

Constructeur à vide.

cogitantcs::PartialOrderClient::~PartialOrderClient ( )

Destructeur.

Member Function Documentation

void cogitantcs::PartialOrderClient::clear ( )
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.

void cogitantcs::PartialOrderClient::optimize ( )
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.

Warning
Cette méthode est à usage interne uniquement.
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.

Warning
Cette méthode est à usage interne uniquement.
void cogitantcs::PartialOrderClient::reserve ( cogitant::nSet  s)
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.

Parameters
staille à réserver.
Exceptions
ExceptionReadOnlyObject

Reimplemented from cogitant::PartialOrder_Simple.

void cogitantcs::PartialOrderClient::setSize ( cogitant::nSet  n)
virtual

Fixer le nombre d'éléments.

Parameters
nnouvelle taille (l'ensemble sur lequel l'ordre partiel est défini devient alors [0 .. n-1]).
Exceptions
ExceptionReadOnlyObject

Reimplemented from cogitant::PartialOrder_Simple.