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

Public Member Functions | Public Attributes | List of all members
cogitant::Support::SetSupport< SetContent > Class Template Reference

Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés. More...

#include "support.h"

Inheritance diagram for cogitant::Support::SetSupport< SetContent >:
cogitant::Support::SetSupportPartialOrder< SetContent >

Public Member Functions

 SetSupport ()
 Constructeur. More...
 
void set (Set< SetContent * > *objects, bool optimizeautolabel, bool optimizeautoindentifier)
 Fixe le contenu de l'ensemble. More...
 
void deleteMembers ()
 Supprime les membres. More...
 
void reserve (nSet size)
 Réservation d'espace dans l'ensemble d'objets. More...
 
void clear ()
 Vide les membres. More...
 
void optimizeSearch (bool onlyifauto=true)
 Optimisation des structures de données permettant une recherche efficace par l'intitulé ou l'identificateur fichier. More...
 
void optimizeSearchClear ()
 Suppression des structures de données optimisées de recherche. More...
 
bool operator() (const iSet x, const iSet y) const
 Comparaison de deux objets de l'ensemble selon le critère de recherche en cours. More...
 
iSet findObject (std::string const &s, bool label) const
 Recherche d'un objet par son intitulé (SupportObject::label()) ou son identificateur fichier (SupportObject::identifier()). More...
 
iSet add (SetContent *sc)
 Ajout d'un objet. More...
 
nSet heavyObjects () const
 Retourne le nombre d'objets ayant des propriétés (et occupant donc plus d'espace mémoire que les objets simples). More...
 

Public Attributes

Set< SetContent * > * m_objects
 Les objets contenus dans l'ensemble.
 
bool m_optimizeautolabel
 Optimisation automatique sur les intitulés.
 
bool m_optimizeautoidentifier
 Optimisation automatique sur les identificateurs (SupportObject::identifier()).
 
std::vector< iSet > * m_optimizelabelsort [2]
 Objets triés dans l'ordre alphabétique de leur intitulé (pour recherche dichotomique) ainsi que les objets triés dans l'ordre alphabétique de leur identificateur fichier.
 

Detailed Description

template<class SetContent>
class cogitant::Support::SetSupport< SetContent >

Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés.

Cette classe est à usage interne de Support.

Constructor & Destructor Documentation

template<class SetContent>
cogitant::Support::SetSupport< SetContent >::SetSupport ( )

Constructeur.

Member Function Documentation

template<class SetContent>
iSet cogitant::Support::SetSupport< SetContent >::add ( SetContent *  sc)

Ajout d'un objet.

template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::clear ( )

Vide les membres.

template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::deleteMembers ( )

Supprime les membres.

template<class SetContent>
iSet cogitant::Support::SetSupport< SetContent >::findObject ( std::string const &  s,
bool  label 
) const

Recherche d'un objet par son intitulé (SupportObject::label()) ou son identificateur fichier (SupportObject::identifier()).

Cette méthode utilise une recherche dichotomoque si la structure d'optimisation a été construite.

template<class SetContent>
nSet cogitant::Support::SetSupport< SetContent >::heavyObjects ( ) const

Retourne le nombre d'objets ayant des propriétés (et occupant donc plus d'espace mémoire que les objets simples).

template<class SetContent>
bool cogitant::Support::SetSupport< SetContent >::operator() ( const iSet  x,
const iSet  y 
) const
inline

Comparaison de deux objets de l'ensemble selon le critère de recherche en cours.

template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::optimizeSearch ( bool  onlyifauto = true)

Optimisation des structures de données permettant une recherche efficace par l'intitulé ou l'identificateur fichier.

Parameters
onlyifautoSi false optimise toujours. Si true n'optimise que dans le cas où l'ensemble est en optimisation automatique.
template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::optimizeSearchClear ( )

Suppression des structures de données optimisées de recherche.

template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::reserve ( nSet  size)

Réservation d'espace dans l'ensemble d'objets.

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

template<class SetContent>
void cogitant::Support::SetSupport< SetContent >::set ( Set< SetContent * > *  objects,
bool  optimizeautolabel,
bool  optimizeautoindentifier 
)

Fixe le contenu de l'ensemble.