Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés. More...
#include "support.h"
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. | |
Ensemble de SupportObject muni d'opérations de recherche rapide par les intitulés.
Cette classe est à usage interne de Support.
cogitant::Support::SetSupport< SetContent >::SetSupport | ( | ) |
Constructeur.
iSet cogitant::Support::SetSupport< SetContent >::add | ( | SetContent * | sc | ) |
Ajout d'un objet.
void cogitant::Support::SetSupport< SetContent >::clear | ( | ) |
Vide les membres.
void cogitant::Support::SetSupport< SetContent >::deleteMembers | ( | ) |
Supprime les membres.
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.
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).
|
inline |
Comparaison de deux objets de l'ensemble selon le critère de recherche en cours.
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.
onlyifauto | Si false optimise toujours. Si true n'optimise que dans le cas où l'ensemble est en optimisation automatique. |
void cogitant::Support::SetSupport< SetContent >::optimizeSearchClear | ( | ) |
Suppression des structures de données optimisées de recherche.
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.
void cogitant::Support::SetSupport< SetContent >::set | ( | Set< SetContent *> * | objects, |
bool | optimizeautolabel, | ||
bool | optimizeautoindentifier | ||
) |
Fixe le contenu de l'ensemble.