Mémorisation de données pour la manipulation de listes d'images possibles. More...
#include "cogitant/opeprojection.h"
Public Member Functions | |
LIP () | |
Constructeur à vide, LIP non calculée. More... | |
~LIP () | |
Destructeur. More... | |
void | setUnknown () |
Fixe la LIP à "non calculée". More... | |
void | setKnownImages () |
Fixe la LIP à calculée et vide. More... | |
void | setKnownImages (std::vector< iSet > const &v) |
Fixe la LIP avec le vecteur passé. More... | |
void | setKnownChildrenOf (iSet p) |
Fixe la LIP comme l'ensemble des fils d'un iSet donné. More... | |
void | statePushCurrent () |
Empile l'état actuel. More... | |
void | statePop () |
Dépile l'état mémorisé. More... | |
bool | stateHasHistory () const |
Présence d'états mémorisés. More... | |
void | add (iSet i) |
Ajoute un iSet à la LIP (qui doit être dans l'état calculée). More... | |
std::vector< iSet >::size_type | size () const |
Longueur de la LIP calculée. More... | |
bool | isKnownImages () const |
La LIP est-elle calculée par une liste d'images possibles. More... | |
bool | isKnownChildrenOf () const |
La LIP est-elle calculée par une contrainte fils de + type. More... | |
bool | isUnknown () const |
La LIP est-elle inconnue. More... | |
bool | isNotCalculated () const |
La LIP n'est elle pas calculée. More... | |
std::vector< iSet >::const_iterator | contentBegin () const |
Itérateur de début. More... | |
std::vector< iSet >::const_iterator | contentEnd () const |
Itérateur de fin sur les éléments de la LIP sélectionnés. More... | |
std::vector< iSet >::const_iterator | contentFullEnd () const |
Itérateur de fin sur tous les éléments de la LIP (même ceux qui sont actuellement ignorés). More... | |
iSet & | content (std::vector< iSet >::size_type i) |
Accès à un élément de la LIP. More... | |
void | contentDelete (std::vector< iSet >::size_type i) |
"Supprime" l'élément d'indice t de la LIP en le faisant passer à la fin et en décrémentant m_size. More... | |
iSet | childrenOf () const |
Accès à la contrainte définissant la LIP comme les noeuds fils d'un noeud donné. More... | |
void | debugDisplay (std::ostream &os) const |
Affichage de debug. More... | |
Protected Attributes | |
std::vector< iSet > | m_content |
Données mémorisées ou vecteur vide si aucune donnée n'a encore été mémorisée. More... | |
iSet | m_childrenof |
Les images possibles doivent être fils de l'iSet. More... | |
std::stack< std::vector< iSet >::size_type > | m_sizes |
Pile du nombre de données mémorisées. More... | |
std::vector< iSet >::size_type | m_size |
Taille actuelle de la structure. More... | |
Mémorisation de données pour la manipulation de listes d'images possibles.
|
inline |
Constructeur à vide, LIP non calculée.
|
inline |
Destructeur.
|
inline |
Ajoute un iSet à la LIP (qui doit être dans l'état calculée).
|
inline |
Accès à la contrainte définissant la LIP comme les noeuds fils d'un noeud donné.
Accès à un élément de la LIP.
|
inline |
Itérateur de début.
|
inline |
"Supprime" l'élément d'indice t de la LIP en le faisant passer à la fin et en décrémentant m_size.
|
inline |
Itérateur de fin sur les éléments de la LIP sélectionnés.
|
inline |
Itérateur de fin sur tous les éléments de la LIP (même ceux qui sont actuellement ignorés).
|
inline |
Affichage de debug.
References cogitant::ISET_NULL.
|
inline |
La LIP est-elle calculée par une contrainte fils de + type.
References cogitant::ISET_NULL.
|
inline |
La LIP est-elle calculée par une liste d'images possibles.
|
inline |
La LIP n'est elle pas calculée.
|
inline |
La LIP est-elle inconnue.
References cogitant::ISET_NULL.
|
inline |
Fixe la LIP comme l'ensemble des fils d'un iSet donné.
|
inline |
Fixe la LIP à calculée et vide.
|
inline |
Fixe la LIP avec le vecteur passé.
|
inline |
Fixe la LIP à "non calculée".
References cogitant::ISET_NULL.
|
inline |
Présence d'états mémorisés.
|
inline |
Dépile l'état mémorisé.
|
inline |
Empile l'état actuel.
|
protected |
Les images possibles doivent être fils de l'iSet.
Si ISET_NULL, cet attribut n'est pas utilisé. Si != ISET_NULL, alors les images possibles doivent être des noeuds qui sont fils de m_childrenof et qui respectent le type de l'objet projeté. Dans ce cas, m_content n'est pas défini. Au contraire, si m_content est défini, l'attribut m_childrenof n'est pas pertinent.
|
protected |
Données mémorisées ou vecteur vide si aucune donnée n'a encore été mémorisée.
Si des données sont mémorisées, seuls les m_size premiers élément du vector correspondent aux données réellement utilisables.
|
protected |
Taille actuelle de la structure.
Si std::numeric_limits<std::vector<iSet>::size_type> aucune donnée mémorisée.
|
protected |
Pile du nombre de données mémorisées.
Les états précédents de mémorisation sont stockés dans cette pile: par exemple, le premier élément au sommet de la pile correspond au nombre d'éléments qui doivent être considérés dans m_content pour l'état de mémorisation précédent. La valeur std::numeric_limits<std::vector<iSet>::size_type> correspond à aucun calcul.