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

Classes | Protected Member Functions | List of all members
cogitant::Support Class Reference

Support. More...

#include "cogitant/support.h"

Inheritance diagram for cogitant::Support:
cogitant::CogitantObject

Classes

class  SetSupport
 Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés. More...
 
class  SetSupportPartialOrder
 Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés et d'un ordre partiel. More...
 

Public Member Functions

Constructeurs - destructeur.
 Support (SupportAllocator const *const alloc=NULL)
 Constructeur. More...
 
 Support (Support const &o, SupportAllocator const *const alloc=NULL)
 Constructeur par recopie. More...
 
virtual ~Support ()
 Destructeur. More...
 
Modifications.
virtual void reserveConceptTypes (nSet size)
 Réservation d'espace dans l'ensemble des types de concepts et dans l'ordre partiel des types de concepts. More...
 
virtual void reserveRelationTypes (nSet size)
 Réservation d'espace dans l'ensemble des types de relations et dans l'ordre partiel des types de relations. More...
 
virtual void reserveNestingTypes (nSet size)
 Réservation d'espace dans l'ensemble des types d'emboîtements et dans l'ordre partiel des types d'emboîtements. More...
 
virtual void reserveIndividuals (nSet size)
 Réservation d'espace dans l'ensemble des marqueurs individuels. More...
 
virtual void clear ()
 Vide et détruit tout le contenu du support. More...
 
void optimizeAuto (bool corder=true, bool rorder=true, bool norder=true, bool clabel=true, bool rlabel=true, bool nlabel=true, bool ilabel=true)
 Optimisation automatique des structures de données. More...
 
void optimizeAutoIdentifiers (bool identifiers=true)
 Optimisation automatique des structures de données. More...
 
void optimizeNowOrder (bool corder=false, bool rorder=false, bool norder=false, bool onlyifauto=true)
 Optimisation des structures de données mémorisant l'ordre des types. More...
 
void optimizeNowLabel (bool con=false, bool rel=false, bool nes=false, bool ind=false, bool onlyifauto=true)
 Optimisation des structures de données permettant de rechercher des objets par leur intitulé. More...
 
void optimizeDeleteLabel (bool con=false, bool rel=false, bool nes=false, bool ind=false)
 Supprime l'optimisation. More...
 
Set< ConceptType * > * conceptTypes ()
 Ensemble des types de concepts. More...
 
Set< RelationType * > * relationTypes ()
 Ensemble des types de relations. More...
 
Set< NestingType * > * nestingTypes ()
 Ensemble des types d'emboîtements. More...
 
Set< Individual * > * individuals ()
 Ensemble des marqueurs individuels. More...
 
PartialOrderconceptTypesOrder ()
 Ordre sur les types de concepts. More...
 
PartialOrderrelationTypesOrder ()
 Ordre sur les types de relations. More...
 
PartialOrdernestingTypesOrder ()
 Ordre sur les types d'emboîtements. More...
 
BannedTypesbannedTypes ()
 Types de concepts interdits. More...
 
iSet newConceptType (std::string const &label, bool redimorder=true)
 Création d'un nouveau type de concept avec l'intitulé passé et ajout de ce type à l'ensemble des types de concepts. More...
 
iSet newRelationType (std::string const &label, std::vector< iSet > const *const sign=NULL, bool redimorder=true)
 Création d'un nouveau type de relation et ajout de ce type à l'ensemble des types de relations. More...
 
iSet newRelationType (std::string const &label, std::vector< iSet > const &sign, bool redimorder=true)
 Création d'un nouveau type de relation et ajout de ce type à l'ensemble des types de relations. More...
 
iSet newNestingType (std::string const &label, bool redimorder=true)
 Création d'un nouveau type d'emboîtement avec l'intitulé passé et ajout de ce type à l'ensemble des types d'emboîtements. More...
 
iSet newIndividual (std::string const &label, iSet conf=ISET_NULL)
 Création d'un nouveau marqueur individuel et ajout à l'ensemble des marqueurs individuels. More...
 
ConceptTypeconceptTypes (iSet i)
 Accès direct à un type de concept par son identificateur. More...
 
RelationTyperelationTypes (iSet i)
 Accès direct à un type de relation par son identificateur. More...
 
NestingTypenestingTypes (iSet i)
 Accès direct à un type de concept par son identificateur. More...
 
Individualindividuals (iSet i)
 Accès direct à un marqueur individuel par son identificateur. More...
 
SupportObjectsupportObject (SupportObject::Type tp, iSet i)
 Accès direct à un objet du support. More...
 
LanguageManagerlanguageManager ()
 Accès au gestionnaire de langues associé au support. More...
 
DatatypeManagerdatatypeManager ()
 Accès au gestionnaire de types de données associé au support. More...
 
Accesseurs.
Set< ConceptType * > const * conceptTypes () const
 Ensemble des types de concepts. More...
 
Set< RelationType * > const * relationTypes () const
 Ensemble des types de relations. More...
 
Set< NestingType * > const * nestingTypes () const
 Ensemble des types d'emboîtements. More...
 
Set< Individual * > const * individuals () const
 Ensemble des marqueurs individuels. More...
 
PartialOrder const * conceptTypesOrder () const
 Ordre sur les types de concepts. More...
 
PartialOrder const * relationTypesOrder () const
 Ordre sur les types de relations. More...
 
PartialOrder const * nestingTypesOrder () const
 Ordre sur les types d'emboîtements. More...
 
BannedTypes const * bannedTypes () const
 Types de concepts interdits. More...
 
SupportAllocator const * allocator () const
 Allocateur. More...
 
LanguageManager const & languageManager () const
 Accès au gestionnaire de langues associé au support. More...
 
DatatypeManager const & datatypeManager () const
 Accès au gestionnaire de types de données associé au support. More...
 
Accesseurs raccourcis.
iSet findConceptType (std::string const &i, bool autocreate=false) const
 Recherche d'un type de concept par son intitulé. More...
 
iSet findRelationType (std::string const &i, bool autocreate=false) const
 Recherche d'un type de relation par son intitulé. More...
 
iSet findNestingType (std::string const &i, bool autocreate=false) const
 Recherche d'un type d'emboîtement par son intitulé. More...
 
iSet findIndividual (std::string const &i, bool autocreate=false) const
 Recherche d'un marqueur individuel par son intitulé. More...
 
iSet findConceptTypeIdentifier (std::string const &i) const
 Recherche d'un type de concept par son identificateur fichier. More...
 
iSet findRelationTypeIdentifier (std::string const &i) const
 Recherche d'un type de relation par son identificateur fichier. More...
 
iSet findNestingTypeIdentifier (std::string const &i) const
 Recherche d'un type d'emboîtement par son identificateur fichier. More...
 
iSet findIndividualIdentifier (std::string const &i) const
 Recherche d'un marqueur individuel par son identificateur fichier. More...
 
bool find (std::string const &search, SupportObject::Type &tp, iSet &id, bool label=true) const
 Recherche d'un élément du support par son intitulé ou son identificateur fichier. More...
 
ConceptType const * conceptTypes (iSet i) const
 Accès direct à un type de concept par son identificateur interne. More...
 
RelationType const * relationTypes (iSet i) const
 Accès direct à un type de relation par son identificateur interne. More...
 
NestingType const * nestingTypes (iSet i) const
 Accès direct à un type de concept par son identificateur interne. More...
 
Individual const * individuals (iSet i) const
 Accès direct à un marqueur individuel par son identificateur interne. More...
 
SupportObject const * supportObject (SupportObject::Type tp, iSet i) const
 Accès direct à un objet du support. More...
 
bool conformity (iSet tc, iSet im) const
 Utilisation possible d'un type de concept avec un marqueur individuel. More...
 
bool conformity (ConceptType::ConjunctiveType const &tc, iSet im) const
 Utilisation possible d'un type de concept avec un marqueur individuel. More...
 
void conjunctiveTypeSimplify (ConceptType::ConjunctiveType &tc) const
 Simplification d'un type conjonctif. More...
 
bool conjunctiveTypeUnion (ConceptType::ConjunctiveType &tc, iSet addt) const
 Calcul d'une union entre un type conjonctif et un type primitif. More...
 
bool conjunctiveTypeUnion (ConceptType::ConjunctiveType &tc, ConceptType::ConjunctiveType const &addt) const
 Calcul d'une union de types conjonctifs. More...
 
std::string conjunctiveTypeToString (ConceptType::ConjunctiveType const &tc, bool ids) const
 Représentation textuelle d'un type conjonctif. More...
 
std::string signatureToString (RelationType::Signature const &sign, bool ids) const
 Représentation textuelle d'une signature. More...
 
bool conceptTypeIsGreaterOrEqualThan (Concept const *c1, Concept const *c2) const
 Compare les types des sommets concepts, et retourne true ssi le premier est >= au second. More...
 
bool conceptTypeIsGreaterOrEqualThan (ConceptType::ConjunctiveType const &tc1, ConceptType::ConjunctiveType const &c2) const
 Compare les deux types (pouvant être des types du support ou des types de données et retourne true ssi le premier est >= au second. More...
 
std::string graphObjectLabel (GraphObject const *go) const
 Retourne un intitulé affichable pour un élément de graphe. More...
 
bool graphObjectSameLabel (GraphObject const *o1, GraphObject const *o2) const
 Détermine si deux éléments de graphe portent la même étiquette. 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

void allocMembers ()
 Allocation de tous les membres. More...
 
void allocMembers (Support const &o)
 Allocation de tous les membres par copie des membres d'un support existant. More...
 
void deleteMembers ()
 Destruction de tous les membres. 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...
 

Divers.

Supportoperator= (Support const &ob)
 Affectation. More...
 
void printInternalInfo (std::ostream &os) const
 Affichage d'informations pouvant être utiles à l'optimisation. More...
 
std::ostream & operator<< (std::ostream &os, const Support &ob)
 Sortie sur un flux. More...
 

Detailed Description

Support.

Représentation du support sur lequel sont définis les graphes de l'environnement.

See also
Support manipulation.

Constructor & Destructor Documentation

cogitant::Support::Support ( SupportAllocator const *const  alloc = NULL)

Constructeur.

L'allocateur par défaut est utilisé si alloc = NULL.

cogitant::Support::Support ( Support const &  o,
SupportAllocator const *const  alloc = NULL 
)

Constructeur par recopie.

Si alloc = NULL, un allocateur par défaut est créé, sinon l'allocateur passé est utilisé.

virtual cogitant::Support::~Support ( )
virtual

Destructeur.

Member Function Documentation

SupportAllocator const* cogitant::Support::allocator ( ) const
inline

Allocateur.

void cogitant::Support::allocMembers ( )
protected

Allocation de tous les membres.

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

Allocation de tous les membres par copie des membres d'un support existant.

Warning
L'allocateur n'est pas copié. L'allocateur est en effet fixé au moment du constructeur du support et ne peut être modifié par la suite.
BannedTypes* cogitant::Support::bannedTypes ( )
inline

Types de concepts interdits.

BannedTypes const* cogitant::Support::bannedTypes ( ) const
inline

Types de concepts interdits.

virtual void cogitant::Support::clear ( )
virtual

Vide et détruit tout le contenu du support.

bool cogitant::Support::conceptTypeIsGreaterOrEqualThan ( Concept const *  c1,
Concept const *  c2 
) const

Compare les types des sommets concepts, et retourne true ssi le premier est >= au second.

bool cogitant::Support::conceptTypeIsGreaterOrEqualThan ( ConceptType::ConjunctiveType const &  tc1,
ConceptType::ConjunctiveType const &  c2 
) const

Compare les deux types (pouvant être des types du support ou des types de données et retourne true ssi le premier est >= au second.

Set<ConceptType*>* cogitant::Support::conceptTypes ( )
inline

Ensemble des types de concepts.

References cogitant::Support::SetSupport< SetContent >::m_objects.

ConceptType* cogitant::Support::conceptTypes ( iSet  i)
inline

Accès direct à un type de concept par son identificateur.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Set<ConceptType*> const* cogitant::Support::conceptTypes ( ) const
inline

Ensemble des types de concepts.

References cogitant::Support::SetSupport< SetContent >::m_objects.

ConceptType const* cogitant::Support::conceptTypes ( iSet  i) const
inline

Accès direct à un type de concept par son identificateur interne.

References cogitant::Support::SetSupport< SetContent >::m_objects.

PartialOrder* cogitant::Support::conceptTypesOrder ( )
inline

Ordre sur les types de concepts.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

PartialOrder const* cogitant::Support::conceptTypesOrder ( ) const
inline

Ordre sur les types de concepts.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

bool cogitant::Support::conformity ( iSet  tc,
iSet  im 
) const

Utilisation possible d'un type de concept avec un marqueur individuel.

Parameters
tctype de concept (primitif).
imidentifiant d'un marqueur individuel.
Returns
true ssi le marqueur im peut être utilisé avec le type tc.
See also
Conformity.
bool cogitant::Support::conformity ( ConceptType::ConjunctiveType const &  tc,
iSet  im 
) const

Utilisation possible d'un type de concept avec un marqueur individuel.

Parameters
tctype de concept (conjonctif).
imidentifiant d'un marqueur individuel.
Returns
true ssi le marqueur im peut être utilisé avec le type tc.
See also
Conformity.
void cogitant::Support::conjunctiveTypeSimplify ( ConceptType::ConjunctiveType tc) const

Simplification d'un type conjonctif.

Parameters
tcun type conjonctif, c'est à dire un ensemble de types de concepts primitifs. Après appel à cette méthode, l'ensemble ne contiendra plus aucun couple de types tels que l'un est une spécialisation de l'autre, mais ce nouvel ensemble sera tout de même équivalent à l'ancien.
std::string cogitant::Support::conjunctiveTypeToString ( ConceptType::ConjunctiveType const &  tc,
bool  ids 
) const

Représentation textuelle d'un type conjonctif.

Retourne une chaîne de caractères contenant les types (de concepts) passés en paramètres, séparés par des virgules.

Parameters
tcensemble de types de concepts.
idssi true retourne une chaîne de caractères formée des identificateurs, sinon retourne une chaîne formée des étiquettes.
bool cogitant::Support::conjunctiveTypeUnion ( ConceptType::ConjunctiveType tc,
iSet  addt 
) const

Calcul d'une union entre un type conjonctif et un type primitif.

Parameters
tc(D/R) un type conjonctif qui contiendra, après exécution de la méthode l'union de tc et addt.
addttype de concept primitif à rajouter à tc.
Precondition
DatatypeManager::isConceptType(addt).
Returns
true ssi le type tc a été modifié lors du calcul de l'union.
bool cogitant::Support::conjunctiveTypeUnion ( ConceptType::ConjunctiveType tc,
ConceptType::ConjunctiveType const &  addt 
) const

Calcul d'une union de types conjonctifs.

Parameters
tc(D/R) un type conjonctif qui contiendra, après exécution de la méthode l'union de tc et addt.
addttype conjonctif à ajouter à tc.
Precondition
pour chaque élément i de adt, DatatypeManager::isConceptType(i).
Returns
true ssi le type tc a été modifié lors du calcul de l'union.
DatatypeManager& cogitant::Support::datatypeManager ( )
inline

Accès au gestionnaire de types de données associé au support.

DatatypeManager const& cogitant::Support::datatypeManager ( ) const
inline

Accès au gestionnaire de types de données associé au support.

void cogitant::Support::deleteMembers ( )
protected

Destruction de tous les membres.

bool cogitant::Support::find ( std::string const &  search,
SupportObject::Type tp,
iSet id,
bool  label = true 
) const

Recherche d'un élément du support par son intitulé ou son identificateur fichier.

Parameters
searchchaîne recherché.
tpen sortie, type de l'objet trouvé (uniquement si la méthode retourne true).
iden sortie, id de l'objet trouvé (uniquement si la méthode retourne true).
labelsi true considère search comme un intitulé, sinon comme un identificateur fichier.
Returns
true si un objet a été trouvé, false sinon.
iSet cogitant::Support::findConceptType ( std::string const &  i,
bool  autocreate = false 
) const

Recherche d'un type de concept par son intitulé.

Parameters
iintitulé cherché.
autocreatesi true et intitulé introuvable, crée un type de cet initulé et retourne l'identificateur du type créé.
Returns
l'identificateur du type trouvé ou ISET_NULL si l'intitulé est introuvable.
iSet cogitant::Support::findConceptTypeIdentifier ( std::string const &  i) const

Recherche d'un type de concept par son identificateur fichier.

Returns
l'identificateur du type trouvé ou ISET_NULL si l'identificateur est introuvable.
iSet cogitant::Support::findIndividual ( std::string const &  i,
bool  autocreate = false 
) const

Recherche d'un marqueur individuel par son intitulé.

Parameters
iintitulé cherché.
autocreatesi true et intitulé introuvable, crée un marqueur de cet initulé et retourne l'identificateur du marqueur créé.
Returns
l'identificateur du marqueur individuel trouvé ou ISET_NULL si l'intitulé est introuvable.
iSet cogitant::Support::findIndividualIdentifier ( std::string const &  i) const

Recherche d'un marqueur individuel par son identificateur fichier.

Returns
l'identificateur du marqueur individuel trouvé ou ISET_NULL si l'identificateur est introuvable.
iSet cogitant::Support::findNestingType ( std::string const &  i,
bool  autocreate = false 
) const

Recherche d'un type d'emboîtement par son intitulé.

Parameters
iintitulé cherché.
autocreatesi true et intitulé introuvable, crée un type de cet initulé et retourne l'identificateur du type créé.
Returns
l'identificateur du type trouvé ou ISET_NULL si l'intitulé est introuvable.
iSet cogitant::Support::findNestingTypeIdentifier ( std::string const &  i) const

Recherche d'un type d'emboîtement par son identificateur fichier.

Returns
l'identificateur du type trouvé ou ISET_NULL si l'identificateur est introuvable.
iSet cogitant::Support::findRelationType ( std::string const &  i,
bool  autocreate = false 
) const

Recherche d'un type de relation par son intitulé.

Parameters
iintitulé cherché.
autocreatesi true et intitulé introuvable, crée un type de cet initulé et retourne l'identificateur du type créé.
Returns
l'identificateur du type trouvé ou ISET_NULL si l'intitulé est introuvable.
iSet cogitant::Support::findRelationTypeIdentifier ( std::string const &  i) const

Recherche d'un type de relation par son identificateur fichier.

Returns
l'identificateur du type trouvé ou ISET_NULL si l'identificateur est introuvable.
std::string cogitant::Support::graphObjectLabel ( GraphObject const *  go) const

Retourne un intitulé affichable pour un élément de graphe.

Parameters
goun élément de graphe.
Returns
une chaîne représentant l'élément, composé du type et du marqueur pour un sommet concept, etc.
bool cogitant::Support::graphObjectSameLabel ( GraphObject const *  o1,
GraphObject const *  o2 
) const

Détermine si deux éléments de graphe portent la même étiquette.

Parameters
o1élément de graphe.
o2élément de graphe (pas forcément du même Graph que o1).
Returns
true ssi les deux éléments portent la même étiquette.
Set<Individual*>* cogitant::Support::individuals ( )
inline

Ensemble des marqueurs individuels.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Individual* cogitant::Support::individuals ( iSet  i)
inline

Accès direct à un marqueur individuel par son identificateur.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Set<Individual*> const* cogitant::Support::individuals ( ) const
inline

Ensemble des marqueurs individuels.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Individual const* cogitant::Support::individuals ( iSet  i) const
inline

Accès direct à un marqueur individuel par son identificateur interne.

References cogitant::Support::SetSupport< SetContent >::m_objects.

LanguageManager& cogitant::Support::languageManager ( )
inline

Accès au gestionnaire de langues associé au support.

Examples:
converter.cpp.
LanguageManager const& cogitant::Support::languageManager ( ) const
inline

Accès au gestionnaire de langues associé au support.

Set<NestingType*>* cogitant::Support::nestingTypes ( )
inline

Ensemble des types d'emboîtements.

References cogitant::Support::SetSupport< SetContent >::m_objects.

NestingType* cogitant::Support::nestingTypes ( iSet  i)
inline

Accès direct à un type de concept par son identificateur.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Set<NestingType*> const* cogitant::Support::nestingTypes ( ) const
inline

Ensemble des types d'emboîtements.

References cogitant::Support::SetSupport< SetContent >::m_objects.

NestingType const* cogitant::Support::nestingTypes ( iSet  i) const
inline

Accès direct à un type de concept par son identificateur interne.

References cogitant::Support::SetSupport< SetContent >::m_objects.

PartialOrder* cogitant::Support::nestingTypesOrder ( )
inline

Ordre sur les types d'emboîtements.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

PartialOrder const* cogitant::Support::nestingTypesOrder ( ) const
inline

Ordre sur les types d'emboîtements.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

iSet cogitant::Support::newConceptType ( std::string const &  label,
bool  redimorder = true 
)

Création d'un nouveau type de concept avec l'intitulé passé et ajout de ce type à l'ensemble des types de concepts.

Le type crée est incomparable avec tous les autres types existants.

Parameters
labelintitulé du nouveau type à créer.
redimorderL'ordre partiel des types de concepts n'est pas redimensionné ssi redimorder vaut false. A utiliser avec précautions et à des fins d'optimisation.
Returns
l'identificateur du type créé.
iSet cogitant::Support::newIndividual ( std::string const &  label,
iSet  conf = ISET_NULL 
)

Création d'un nouveau marqueur individuel et ajout à l'ensemble des marqueurs individuels.

Parameters
labelintitulé du marqueur individuel.
confidentificateur du type de concept minimal pouvant être associé à ce marqueur individuel. Si aucune valeur n'est passée (ou ISET_NULL), la conformité n'est pas fixée pour le marqueur individuel créé.
Returns
l'identificateur du marqueur individuel créé.
See also
Conformity.
iSet cogitant::Support::newNestingType ( std::string const &  label,
bool  redimorder = true 
)

Création d'un nouveau type d'emboîtement avec l'intitulé passé et ajout de ce type à l'ensemble des types d'emboîtements.

Le type crée est incomparable avec tous les autres types existants.

Parameters
labelintitulé du nouveau type à créer.
redimorderL'ordre partiel des types d'emboîtements n'est pas redimensionné ssi redimorder vaut false. A utiliser avec précautions et à des fins d'optimisation.
Returns
l'identificateur du type créé.
iSet cogitant::Support::newRelationType ( std::string const &  label,
std::vector< iSet > const *const  sign = NULL,
bool  redimorder = true 
)

Création d'un nouveau type de relation et ajout de ce type à l'ensemble des types de relations.

Le type crée est incomparable avec tous les autres types existants.

Parameters
labelintitulé du type de relation.
signsignature du type de relation sous la forme d'un tableau d'identificateurs représentant les plus grands types de concepts que peut avoir comme voisin un sommet relation de ce type. La taille de ce vector représente donc l'arité du type. Une copie de ce vecteur est mémorisée. Si aucun vector n'est passé (ou NULL), sa signature/arité du type de relation n'est pas fixée.
redimorderL'ordre partiel des types de relations n'est pas redimensionné ssi redimorder vaut false. A utiliser avec précautions et à des fins d'optimisation.
Returns
l'identificateur du type créé.
See also
Relation signatures.
iSet cogitant::Support::newRelationType ( std::string const &  label,
std::vector< iSet > const &  sign,
bool  redimorder = true 
)

Création d'un nouveau type de relation et ajout de ce type à l'ensemble des types de relations.

Le type crée est incomparable avec tous les autres types existants.

Parameters
labelintitulé du type de relation.
signsignature du type de relation sous la forme d'un tableau d'identificateurs représentant les plus grands types de concepts que peut avoir comme voisin un sommet relation de ce type. La taille de ce vector représente donc l'arité du type.
redimorderL'ordre partiel des types de relations n'est pas redimensionné ssi redimorder vaut false. A utiliser avec précautions et à des fins d'optimisation.
Returns
l'identificateur du type créé.
See also
Relation signatures.
Support& cogitant::Support::operator= ( Support const &  ob)

Affectation.

void cogitant::Support::optimizeAuto ( bool  corder = true,
bool  rorder = true,
bool  norder = true,
bool  clabel = true,
bool  rlabel = true,
bool  nlabel = true,
bool  ilabel = true 
)

Optimisation automatique des structures de données.

Les paramètres permettant des recherche par l'intitule construisent, après chargement d'un support une structure de données permettant de rechercher un objet (type de concept, etc.) par son intitulé en O(log(n)) au lieu de O(n) (/e n étant le nombre d'objets dans le support). Une fois que cette structure de données a été construite l'ensemble d'objets ne doit pas être modifié (ajout, suppression, modification d'un intitulé).

Parameters
cordersi true, appelle PartialOrder::optimize() sur l'ensemble des types de concepts après le chargement d'un support.
rordersi true, appelle PartialOrder::optimize() sur l'ensemble des types de relations après le chargement d'un support.
nordersi true, appelle PartialOrder::optimize() sur l'ensemble des types d'emboîtements après le chargement d'un support.
clabelsi true, optimisation de la recherche par intitulé de type de concept.
rlabelsi true, optimisation de la recherche par intitulé de type de relation.
nlabelsi true, optimisation de la recherche par intitulé de type d'emboîtement.
ilabelsi true, optimisation de la recherche par intitulé de marqueur individuel.
void cogitant::Support::optimizeAutoIdentifiers ( bool  identifiers = true)

Optimisation automatique des structures de données.

Parameters
identifierssi true, construit les mêmes structures de données décrites dans autoOptimize() pour l'identificateur fichier SupportObejct::identifier() en plus de l'intitulé SupportObject::label().
void cogitant::Support::optimizeDeleteLabel ( bool  con = false,
bool  rel = false,
bool  nes = false,
bool  ind = false 
)

Supprime l'optimisation.

Parameters
conOptimisation sur l'ensemble des types de concepts.
relOptimisation sur l'ensemble des types de relations.
nesOptimisation sur l'ensemble des types d'emboîtements.
indOptimisation sur l'ensemble des types de marqueurs individuels.
void cogitant::Support::optimizeNowLabel ( bool  con = false,
bool  rel = false,
bool  nes = false,
bool  ind = false,
bool  onlyifauto = true 
)

Optimisation des structures de données permettant de rechercher des objets par leur intitulé.

Parameters
conOptimisation sur l'ensemble des types de concepts.
relOptimisation sur l'ensemble des types de relations.
nesOptimisation sur l'ensemble des types d'emboîtements.
indOptimisation sur l'ensemble des types de marqueurs individuels.
onlyifautoExécute l'optimisation uniquement dans le cas où c'est une optimisation à exécuter automatiquement.
See also
Optimization.
void cogitant::Support::optimizeNowOrder ( bool  corder = false,
bool  rorder = false,
bool  norder = false,
bool  onlyifauto = true 
)

Optimisation des structures de données mémorisant l'ordre des types.

Parameters
cordersi true, correspond à l'appel de la méthode PartialOrder::optimize() sur l'ensemble des types de concepts.
rordersi true, correspond à l'appel de la méthode PartialOrder::optimize() sur l'ensemble des types de relations.
nordersi true, correspond à l'appel de la méthode PartialOrder::optimize() sur l'ensemble des types d'emboîtement.
onlyifautoExécute l'optimisation uniquement dans le cas où c'est une optimisation à exécuter automatiquement.
See also
Optimization.
void cogitant::Support::printInternalInfo ( std::ostream &  os) const

Affichage d'informations pouvant être utiles à l'optimisation.

Set<RelationType*>* cogitant::Support::relationTypes ( )
inline

Ensemble des types de relations.

References cogitant::Support::SetSupport< SetContent >::m_objects.

RelationType* cogitant::Support::relationTypes ( iSet  i)
inline

Accès direct à un type de relation par son identificateur.

References cogitant::Support::SetSupport< SetContent >::m_objects.

Set<RelationType*> const* cogitant::Support::relationTypes ( ) const
inline

Ensemble des types de relations.

References cogitant::Support::SetSupport< SetContent >::m_objects.

RelationType const* cogitant::Support::relationTypes ( iSet  i) const
inline

Accès direct à un type de relation par son identificateur interne.

References cogitant::Support::SetSupport< SetContent >::m_objects.

PartialOrder* cogitant::Support::relationTypesOrder ( )
inline

Ordre sur les types de relations.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

PartialOrder const* cogitant::Support::relationTypesOrder ( ) const
inline

Ordre sur les types de relations.

References cogitant::Support::SetSupportPartialOrder< SetContent >::m_order.

virtual void cogitant::Support::reserveConceptTypes ( nSet  size)
virtual

Réservation d'espace dans l'ensemble des types de concepts et dans l'ordre partiel des types de concepts.

L'appel à cette méthode est optionnel mais entraîne de meilleures performances selon l'implantation de l'ensemble de types et l'ordre partiel.

virtual void cogitant::Support::reserveIndividuals ( nSet  size)
virtual

Réservation d'espace dans l'ensemble des marqueurs individuels.

L'appel à cette méthode est optionnel mais entraîne de meilleures performances selon l'implantation de l'ensemble de marqueurs individuels.

virtual void cogitant::Support::reserveNestingTypes ( nSet  size)
virtual

Réservation d'espace dans l'ensemble des types d'emboîtements et dans l'ordre partiel des types d'emboîtements.

L'appel à cette méthode est optionnel mais entraîne de meilleures performances selon l'implantation de l'ensemble de types et l'ordre partiel.

virtual void cogitant::Support::reserveRelationTypes ( nSet  size)
virtual

Réservation d'espace dans l'ensemble des types de relations et dans l'ordre partiel des types de relations.

L'appel à cette méthode est optionnel mais entraîne de meilleures performances selon l'implantation de l'ensemble de types et l'ordre partiel.

std::string cogitant::Support::signatureToString ( RelationType::Signature const &  sign,
bool  ids 
) const

Représentation textuelle d'une signature.

Retourne une chaîne de caractères contenant les types (de concepts, éventuellement conjonctifs) composant la signature passée en paramètre, séparés par des point-virgules.

Parameters
signsignature.
idssi true retourne une chaîne de caractères formée des identificateurs, sinon retourne une chaîne formée des étiquettes.
SupportObject* cogitant::Support::supportObject ( SupportObject::Type  tp,
iSet  i 
)

Accès direct à un objet du support.

SupportObject const* cogitant::Support::supportObject ( SupportObject::Type  tp,
iSet  i 
) const

Accès direct à un objet du support.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const Support 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().