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

Public Member Functions | Protected Attributes | List of all members
cogitant::LIP Class Reference

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...
 
iSetcontent (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< iSetm_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...
 

Detailed Description

Mémorisation de données pour la manipulation de listes d'images possibles.

Constructor & Destructor Documentation

◆ LIP()

cogitant::LIP::LIP ( )
inline

Constructeur à vide, LIP non calculée.

◆ ~LIP()

cogitant::LIP::~LIP ( )
inline

Destructeur.

Member Function Documentation

◆ add()

void cogitant::LIP::add ( iSet  i)
inline

Ajoute un iSet à la LIP (qui doit être dans l'état calculée).

◆ childrenOf()

iSet cogitant::LIP::childrenOf ( ) const
inline

Accès à la contrainte définissant la LIP comme les noeuds fils d'un noeud donné.

◆ content()

iSet& cogitant::LIP::content ( std::vector< iSet >::size_type  i)
inline

Accès à un élément de la LIP.

◆ contentBegin()

std::vector<iSet>::const_iterator cogitant::LIP::contentBegin ( ) const
inline

Itérateur de début.

◆ contentDelete()

void cogitant::LIP::contentDelete ( std::vector< iSet >::size_type  i)
inline

"Supprime" l'élément d'indice t de la LIP en le faisant passer à la fin et en décrémentant m_size.

◆ contentEnd()

std::vector<iSet>::const_iterator cogitant::LIP::contentEnd ( ) const
inline

Itérateur de fin sur les éléments de la LIP sélectionnés.

◆ contentFullEnd()

std::vector<iSet>::const_iterator cogitant::LIP::contentFullEnd ( ) const
inline

Itérateur de fin sur tous les éléments de la LIP (même ceux qui sont actuellement ignorés).

◆ debugDisplay()

void cogitant::LIP::debugDisplay ( std::ostream &  os) const
inline

Affichage de debug.

References cogitant::ISET_NULL.

◆ isKnownChildrenOf()

bool cogitant::LIP::isKnownChildrenOf ( ) const
inline

La LIP est-elle calculée par une contrainte fils de + type.

References cogitant::ISET_NULL.

◆ isKnownImages()

bool cogitant::LIP::isKnownImages ( ) const
inline

La LIP est-elle calculée par une liste d'images possibles.

◆ isNotCalculated()

bool cogitant::LIP::isNotCalculated ( ) const
inline

La LIP n'est elle pas calculée.

◆ isUnknown()

bool cogitant::LIP::isUnknown ( ) const
inline

La LIP est-elle inconnue.

References cogitant::ISET_NULL.

◆ setKnownChildrenOf()

void cogitant::LIP::setKnownChildrenOf ( iSet  p)
inline

Fixe la LIP comme l'ensemble des fils d'un iSet donné.

◆ setKnownImages() [1/2]

void cogitant::LIP::setKnownImages ( )
inline

Fixe la LIP à calculée et vide.

◆ setKnownImages() [2/2]

void cogitant::LIP::setKnownImages ( std::vector< iSet > const &  v)
inline

Fixe la LIP avec le vecteur passé.

◆ setUnknown()

void cogitant::LIP::setUnknown ( )
inline

Fixe la LIP à "non calculée".

References cogitant::ISET_NULL.

◆ size()

std::vector<iSet>::size_type cogitant::LIP::size ( ) const
inline

Longueur de la LIP calculée.

◆ stateHasHistory()

bool cogitant::LIP::stateHasHistory ( ) const
inline

Présence d'états mémorisés.

◆ statePop()

void cogitant::LIP::statePop ( )
inline

Dépile l'état mémorisé.

◆ statePushCurrent()

void cogitant::LIP::statePushCurrent ( )
inline

Empile l'état actuel.

Member Data Documentation

◆ m_childrenof

iSet cogitant::LIP::m_childrenof
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.

◆ m_content

std::vector<iSet> cogitant::LIP::m_content
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.

◆ m_size

std::vector<iSet>::size_type cogitant::LIP::m_size
protected

Taille actuelle de la structure.

Si std::numeric_limits<std::vector<iSet>::size_type> aucune donnée mémorisée.

◆ m_sizes

std::stack<std::vector<iSet>::size_type> cogitant::LIP::m_sizes
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.