suivant: Constructeur
monter: Exercices
précédent: Quantification par fusion
  Table des matières
  Index
Inversion de table de couleur par tri sur une coordonnée
On considère la classe suivante :
class colormap
{
private:
unsigned char* tab;
unsigned int nb_color;
public:
colormap(image&);
~colormap();
int give_entry(unsigned char);
typedef enum {forward,backward} iterator_mode;
class iterator
{
private:
unsigned char* tab;
unsigned int nb_color;
int current;
iterator_mode mode;
public:
iterator(colormap& map,int index=-1,iterator_mode mode=forward):
tab(col.tab),nb_color(col.nb_color),mode(dir)
{
if(index==-1) {current=index;return}
current=(mode==forward?0:nb_color-1);
}
iterator(iterator&):
tab(ite.tab),nb_color(ite.nb_color),current(ite.current),mode(ite.mode)
{
}
unsigned char operator [](int);
iterator& operator ++();
iterator operator ++(int);
bool operator <(const iterator&);
iterator end();
int index() const
{
return current;
}
};
void inverse(unsigned char*,unsigned char*);
private:
void oriented_search(iterator &,unsigned char *,int&,int &);
};
typedef colormap::iterator colormap_iterator;
Sous-sections
Brun Luc
2004-03-25