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

List of all members
cogitant::CoupleOfLambdas Class Reference

Couple de lambda-graphes. More...

#include "cogitant/lambda.h"

Inheritance diagram for cogitant::CoupleOfLambdas:
cogitant::EnvironmentObject cogitant::ObservableObject cogitant::CogitantObject cogitant::Constraint cogitant::Rule

Public Member Functions

Constructeurs - destructeur.
 CoupleOfLambdas (Environment const *env, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur. More...
 
 CoupleOfLambdas (CoupleOfLambdas const &o, Environment const *env=NULL, CoupleOfLambdasAllocator const *alloc=NULL)
 Constructeur par recopie. More...
 
 ~CoupleOfLambdas ()
 Destructeur. More...
 
Modifications.
void setEnvironment (Environment const *env)
 Changement de l'environnement de l'objet. More...
 
Graphfirst ()
 Premier élément du couple. More...
 
Graphsecond ()
 Second élément du couple. More...
 
SetOfCouplesconnectionPoints ()
 Points d'attache. More...
 
void addConnectionPoint (iSet x, iSet y)
 Ajout d'un couple de points d'attache. More...
 
void setFirstSecond (Graph *g1, Graph *g2)
 Modification des graphes. More...
 
void setFirst (Graph *g1)
 Modification du premier graphe. More...
 
void setSecond (Graph *g2)
 Modification du second graphe. More...
 
Accesseurs.
Type objectType () const
 Type de l'objet. More...
 
void individualMarkers (std::vector< iSet > &im)
 Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject. More...
 
Graph const * first () const
 Premier graphe du couple. More...
 
Graph const * second () const
 Second graphe du couple. More...
 
SetOfCouples const & connectionPoints () const
 Points d'attache. More...
 
- Public Member Functions inherited from cogitant::EnvironmentObject
 EnvironmentObject (Environment const *env)
 Constructeur. More...
 
 EnvironmentObject (EnvironmentObject const &o, Environment const *env=NULL)
 Constructeur par recopie. More...
 
 ~EnvironmentObject ()
 Destructeur. More...
 
GraphasGraph ()
 Conversion explicite de l'objet en graphe conceptuel. More...
 
RuleasRule ()
 Conversion explicite de l'objet en règle. More...
 
ConstraintasConstraint ()
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraintasColoredGraphConstraint ()
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdasasCoupleOfLambdas ()
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual void setName (std::string const &n)
 Changement du nom de l'objet. More...
 
void setId (iSet id)
 Changement de l'identificateur d'environnement. More...
 
std::vector< EnvironmentObjectExtension * > & extensions ()
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtensionextension (const char *id)
 Accès à une extension de l'objet par son identifiant. More...
 
void addExtension (EnvironmentObjectExtension *ext)
 Ajoute une extension. More...
 
Graph const * asGraph () const
 Conversion explicite de l'objet en graphe conceptuel. More...
 
Rule const * asRule () const
 Conversion explicite de l'objet en règle. More...
 
Constraint const * asConstraint () const
 Conversion explicite de l'objet en contrainte. More...
 
ColoredGraphConstraint const * asColoredGraphConstraint () const
 Conversion explicite de l'objet en contrainte sous forme de graphe bicoloré. More...
 
CoupleOfLambdas const * asCoupleOfLambdas () const
 Conversion explicite de l'objet en couple de lambdas graphes. More...
 
virtual std::string name () const
 Nom de l'objet. More...
 
iSet id () const
 Identificateur de l'objet dans l'Environment. More...
 
Environment const * environment () const
 Environnement dans lequel l'objet est défini. More...
 
Support const * support () const
 Support sur lequel l'objet est défini. More...
 
std::vector< EnvironmentObjectExtension * > const & extensions () const
 Accès aux extensions de l'objet. More...
 
EnvironmentObjectExtension const * extension (const char *id) const
 Accès à une extension de l'objet par son identifiant. More...
 
virtual std::string iSetString () const
 Retourne une chaine contenant l'identifiant de l'objet pouvant être utile pour du débogage. More...
 
- Public Member Functions inherited from cogitant::ObservableObject
 ObservableObject ()
 Constructeur. More...
 
 ObservableObject (ObservableObject const &o)
 Constructeur par recopie. More...
 
 ~ObservableObject ()
 Destructeur. More...
 
ObserverSet const & observers () const
 Accès à l'ensemble des observateurs. More...
 
bool hasObservers () const
 Existence d'observateurs. More...
 
bool hasObservers (ObserverMessage::Type mt) const
 Existence d'observateurs qui écoutent le type de message passé. More...
 
void attachObserver (Observer *obs)
 Ajoute un nouvel observateur à l'objet. More...
 
void detachObserver (Observer *obs)
 Supprime le lien entre l'observateur et l'objet. More...
 
void notifyObservers (ObserverMessage const *msg)
 Envoie le message de modification à tous les observateurs. More...
 
- Public Member Functions inherited from cogitant::CogitantObject
 CogitantObject ()
 Constructeur. More...
 
 CogitantObject (CogitantObject const &o)
 Constructeur par recopie. More...
 
virtual ~CogitantObject ()
 Destructeur. More...
 
PropertySetproperties ()
 Accès à l'ensemble des propriétés. More...
 
virtual std::string toString () const
 Transformation en chaîne de caractères. More...
 
std::string className () const
 Nom de la classe. More...
 
PropertySet const * properties () const
 Accès en lecture seule à l'ensemble des propriétés. More...
 
bool hasProperties () const
 Existence de propriétés. More...
 
CogitantObjectoperator= (CogitantObject const &ob)
 Affectation. More...
 

Protected Member Functions

Allocateurs.
void allocMembers ()
 Allocation de tous les membres. More...
 
void allocMembers (CoupleOfLambdas const &o)
 Allocation de tous les membres par copie des membres d'une règle existante. More...
 
void deleteMembers ()
 Destruction de tous les membres. More...
 
- Protected Member Functions inherited from cogitant::ObservableObject
virtual ObserverSetallocObservers () const
 Fonction créant l'instance d'une sous classe de ObserverSet pour la représentation de l'ensemble des observateurs de l'objet. More...
 
ObserverSetobservers ()
 Accès à l'ensemble des observateurs. More...
 
- Protected Member Functions inherited from cogitant::CogitantObject
virtual PropertySetallocProperties () const
 Fonction créant l'instance d'une sous classe de PropertySet pour la représentation des propriétés de l'objet. More...
 

Opérateurs

CoupleOfLambdasoperator= (CoupleOfLambdas const &ob)
 Affectation. More...
 
std::ostream & operator<< (std::ostream &os, const CoupleOfLambdas &ob)
 Sortie sur un flux. More...
 

Additional Inherited Members

- Public Types inherited from cogitant::EnvironmentObject
enum  Type {
  OT_GRAPH, OT_COUPLEOFLAMBDAS, OT_RULE, OT_POSITIVECONSTRAINT,
  OT_NEGATIVECONSTRAINT, OT_POSITIVECOLOREDGRAPHCONSTRAINT, OT_NEGATIVECOLOREDGRAPHCONSTRAINT
}
 Type d'objet. More...
 

Detailed Description

Couple de lambda-graphes.

Un couple de lambda-graphes est représenté par 2 graphes et des liens entre des sommets concepts de ces deux graphes sous la forme d'une liste de couples.

Constructor & Destructor Documentation

cogitant::CoupleOfLambdas::CoupleOfLambdas ( Environment const *  env,
CoupleOfLambdasAllocator const *  alloc = NULL 
)

Constructeur.

L'utilisation de constructeur produit un couple de lambdas-graphes dans lequel les deux graphes sont vides et ne possédant aucun pont d'attache.

Parameters
allocallocateur utilisé. Un allocateur par défaut est créé si alloc = NULL.
envenvironnement dans lequel le couple est défini.
cogitant::CoupleOfLambdas::CoupleOfLambdas ( CoupleOfLambdas const &  o,
Environment const *  env = NULL,
CoupleOfLambdasAllocator const *  alloc = NULL 
)

Constructeur par recopie.

Parameters
ocouple de lambdas à copier.
envenvironment sur lequel le couple créé est définie. Il est conseillé de laisser la valeur par défaut (NULL) qui définit l'environment du nouveau couple avec celui du couple copié.
alloc= NULL, le même allocateur que pour o est utilisé pour la copie, sinon l'allocateur passé est utilisé.
cogitant::CoupleOfLambdas::~CoupleOfLambdas ( )

Destructeur.

Member Function Documentation

void cogitant::CoupleOfLambdas::addConnectionPoint ( iSet  x,
iSet  y 
)

Ajout d'un couple de points d'attache.

Parameters
xidentifiant d'un sommet concept générique du premier graphe.
yidentifiant d'un sommet concept générique du second graphe.
Precondition
x et y ne sont pas déjà des points d'attache.
Exceptions
ExceptionStructure
void cogitant::CoupleOfLambdas::allocMembers ( )
protected

Allocation de tous les membres.

void cogitant::CoupleOfLambdas::allocMembers ( CoupleOfLambdas const &  o)
protected

Allocation de tous les membres par copie des membres d'une règle existante.

Warning
L'allocateur n'est pas copié. L'allocateur est en effet fixé au moment du constructeur et ne peut être modifié par la suite.
SetOfCouples& cogitant::CoupleOfLambdas::connectionPoints ( )
inline

Points d'attache.

Returns
l'ensemble des couples d'identifiants de sommets (concepts génériques) représentant les points d'attache. Le premier élément de chaque couple est l'identifiant d'un sommet du premier graphe et le second, un sommet du second graphe.
SetOfCouples const& cogitant::CoupleOfLambdas::connectionPoints ( ) const
inline

Points d'attache.

Returns
l'ensemble des couples d'identifiants de sommets (concepts génériques) représentant les points d'attache.
void cogitant::CoupleOfLambdas::deleteMembers ( )
protected

Destruction de tous les membres.

Graph* cogitant::CoupleOfLambdas::first ( )
inline

Premier élément du couple.

Returns
un pointeur sur le premier graphe du couple.
Warning
La suppression de sommets dans le graphe retourné entraîne l'invalidation des points d'attache. Il est donc fortement recommandé de modifier les graphes avant de fixer les points d'attache.
Graph const* cogitant::CoupleOfLambdas::first ( ) const
inline

Premier graphe du couple.

Returns
un pointeur sur le premier graphe du couple.
void cogitant::CoupleOfLambdas::individualMarkers ( std::vector< iSet > &  im)
virtual

Ajoute à l'ensemble passé l'ensemble des marqueurs individuels utilisés dans l'EnvironmentObject.

Implements cogitant::EnvironmentObject.

Type cogitant::CoupleOfLambdas::objectType ( ) const
virtual

Type de l'objet.

Returns
EnvironmentObject::OT_COUPLEOFLAMBDAS.

Implements cogitant::EnvironmentObject.

Reimplemented in cogitant::Rule.

CoupleOfLambdas& cogitant::CoupleOfLambdas::operator= ( CoupleOfLambdas const &  ob)

Affectation.

Graph* cogitant::CoupleOfLambdas::second ( )
inline

Second élément du couple.

Returns
un pointeur sur le deuxième graphe du couple.
Warning
La suppression de sommets dans le graphe retourné entraîne l'invalidation des points d'attache. Il est donc fortement recommandé de modifier les graphes avant de fixer les points d'attache.
Graph const* cogitant::CoupleOfLambdas::second ( ) const
inline

Second graphe du couple.

Returns
un pointeur sur le second graphe du couple.
void cogitant::CoupleOfLambdas::setEnvironment ( Environment const *  env)
virtual

Changement de l'environnement de l'objet.

Cette méthode ne devrait pas être utilisée directement, sauf si vous savez ce que vous faites.

Reimplemented from cogitant::EnvironmentObject.

void cogitant::CoupleOfLambdas::setFirst ( Graph g1)

Modification du premier graphe.

Détruit le premier graphe et le remplace par le graphe passé en paramètre. L'ensemble des points d'attache est vidé.

Precondition
g1 doit repérer un graphe qui n'est pas mémorisé dans l'environnement et qui ne doit pas être détruit par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.
void cogitant::CoupleOfLambdas::setFirstSecond ( Graph g1,
Graph g2 
)

Modification des graphes.

Détruit les graphes et les remplace par les graphes passés en paramètre. L'ensemble des points d'attache est vidé.

Precondition
g1 et g2 doivent repérer des graphes qui ne sont pas mémorisés dans l'environnement et qui ne doivent pas être détruits par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.
void cogitant::CoupleOfLambdas::setSecond ( Graph g2)

Modification du second graphe.

Détruit le second graphe et le remplace par le graphe passé en paramètre. L'ensemble des points d'attache est vidé.

Precondition
g2 doit repérer un graphe qui n'est pas mémorisé dans l'environnement et qui ne doit pas être détruit par le programme appelant.
Warning
il n'est pas conseillé d'utiliser cette méthode à moins que vous sachiez ce que vous faites.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const CoupleOfLambdas ob 
)
friend

Sortie sur un flux.

La fonction est redéfinie pour une sortie sur le flux plus complète que le résultat de toString().