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

Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cogitant::SetCondIterator< SetContent, SetContentRef > Class Template Reference

Classe représentant un itérateur sur un sous ensemble d'éléments d'un ensemble. More...

#include "cogitant/set.h"

Inheritance diagram for cogitant::SetCondIterator< SetContent, SetContentRef >:
cogitant::SetIterator< SetContent, SetContentRef > cogitant::SetIteratorBase< SetContent >

Classes

class  SetCondIteratorCondition
 Classe devant être instanciée pour permettre le filtre de certains éléments dans le parcours. More...
 

Public Member Functions

 SetCondIterator ()
 Constructeur d'un itérateur incorrect. More...
 
 SetCondIterator (SetCondIteratorCondition const *condition, Set< SetContent > const *s, iSet i, bool init=true)
 Constructeur d'un itérateur sur l'ensemble s à la position i, utilisant un filtre donné par l'objet condition. More...
 
 SetCondIterator (SetCondIterator< SetContent, SetContent &> const &c)
 Constructeur par recopie. More...
 
virtual ~SetCondIterator ()
 Destructeur. More...
 
SetCondIterator< SetContent, SetContentRef > const & operator++ ()
 Incrémentation de l'itérateur. More...
 
SetCondIterator< SetContent, SetContentRef > const & operator++ (int)
 Incrémentation de l'itérateur. More...
 
- Public Member Functions inherited from cogitant::SetIterator< SetContent, SetContentRef >
 SetIterator ()
 Constructeur d'un itérateur incorrect. More...
 
 SetIterator (Set< SetContent > const *s, iSet i)
 Constructeur d'un itérateur sur l'ensemble s à la position i. More...
 
 SetIterator (SetIterator< SetContent, SetContent &> const &c)
 Constructeur par recopie. More...
 
virtual ~SetIterator ()
 Destructeur. More...
 
SetContentRef operator* () const
 Accès à l'élément de l'ensemble représenté par l'itérateur. More...
 
SetIterator< SetContent, SetContentRef > const & operator++ ()
 Incrémentation de l'itérateur. More...
 
SetIterator< SetContent, SetContentRef > const & operator++ (int)
 Incrémentation de l'itérateur. More...
 
- Public Member Functions inherited from cogitant::SetIteratorBase< SetContent >
 SetIteratorBase ()
 Constructeur d'un itérateur incorrect. More...
 
 SetIteratorBase (Set< SetContent > const *s, iSet i)
 Constructeur d'un itérateur sur l'ensemble s à la position i. More...
 
 SetIteratorBase (SetIteratorBase< SetContent > const &s)
 Constructeur par recopie. More...
 
virtual ~SetIteratorBase ()
 Destructeur. More...
 
Set< SetContent > const * set () const
 Accès à l'ensemble repéré par l'itérateur. More...
 
virtual iSet iSetValue () const
 Accès à l'identificateur repéré par l'itérateur. More...
 
virtual bool isValid () const
 L'itérateur est-il valide ou est-il en fin ? More...
 
bool operator== (SetIteratorBase< SetContent > const &c) const
 Test d'égalité. More...
 
bool operator!= (SetIteratorBase< SetContent > const &c) const
 Test de différence. More...
 

Protected Member Functions

void next ()
 Passage à la valeur suivante de l'itérateur. More...
 
- Protected Member Functions inherited from cogitant::SetIteratorBase< SetContent >
void next ()
 Passage à l'élément suivant. More...
 

Protected Attributes

SetCondIteratorCondition const * m_condition
 Condition devant être respectée pour les objets parcourus. More...
 
- Protected Attributes inherited from cogitant::SetIteratorBase< SetContent >
Set< SetContent > const * m_s
 Ensemble sur lequel l'itérateur est défini.
 
iSet m_i
 Indice dans m_s de la valeur en cours.
 

Detailed Description

template<class SetContent, class SetContentRef>
class cogitant::SetCondIterator< SetContent, SetContentRef >

Classe représentant un itérateur sur un sous ensemble d'éléments d'un ensemble.

L'utilisation de cette classe demande de définir une sous classe (concrète) de SetCondIteratorCondition et la méthode SetCondIteratorCondition::isCorrect(). Les itérateurs instances de cette classe s'utilisent de la même façon que les itérateurs classiques mais permettent de ne parcourir que les éléments de l'ensemble pour lesquels SetCondIteratorCondition::isCorrect() retourne true.

Constructor & Destructor Documentation

◆ SetCondIterator() [1/3]

template<class SetContent, class SetContentRef>
cogitant::SetCondIterator< SetContent, SetContentRef >::SetCondIterator ( )

Constructeur d'un itérateur incorrect.

◆ SetCondIterator() [2/3]

template<class SetContent, class SetContentRef>
cogitant::SetCondIterator< SetContent, SetContentRef >::SetCondIterator ( SetCondIteratorCondition const *  condition,
Set< SetContent > const *  s,
iSet  i,
bool  init = true 
)

Constructeur d'un itérateur sur l'ensemble s à la position i, utilisant un filtre donné par l'objet condition.

Parameters
conditioncondition permettant de filtrer les objets qui doivent être parcourus.
sensemble à parcourir.
ivaleur initiale.
initsi true (par défaut), l'itérateur est initialisé, c'est à dire qu'il est placé par le constructeur sur le premier élément de l'ensemble respectant la condition. Sinon, l'itérateur n'est pas initialisé, et m_i doit donc être initialisé par ailleurs. Cette fonctionnalité n'est utile que dans le cas de sous-classes de SetCondIterator.

◆ SetCondIterator() [3/3]

template<class SetContent, class SetContentRef>
cogitant::SetCondIterator< SetContent, SetContentRef >::SetCondIterator ( SetCondIterator< SetContent, SetContent &> const &  c)

Constructeur par recopie.

◆ ~SetCondIterator()

template<class SetContent, class SetContentRef>
virtual cogitant::SetCondIterator< SetContent, SetContentRef >::~SetCondIterator ( )
virtual

Destructeur.

Member Function Documentation

◆ next()

template<class SetContent, class SetContentRef>
void cogitant::SetCondIterator< SetContent, SetContentRef >::next ( )
protected

Passage à la valeur suivante de l'itérateur.

◆ operator++() [1/2]

template<class SetContent, class SetContentRef>
SetCondIterator<SetContent, SetContentRef> const& cogitant::SetCondIterator< SetContent, SetContentRef >::operator++ ( )

Incrémentation de l'itérateur.

◆ operator++() [2/2]

template<class SetContent, class SetContentRef>
SetCondIterator<SetContent, SetContentRef> const& cogitant::SetCondIterator< SetContent, SetContentRef >::operator++ ( int  )

Incrémentation de l'itérateur.

Member Data Documentation

◆ m_condition

template<class SetContent, class SetContentRef>
SetCondIteratorCondition const* cogitant::SetCondIterator< SetContent, SetContentRef >::m_condition
protected

Condition devant être respectée pour les objets parcourus.