/*---------------------------------------------------------
palindrome
par Martin Robinson

-----------------------------------------------------------
preprocesseur
---------------------------------------------------------*/

#pragma once
#ifndef _PALIN
#define _PALIN

#include "fstring.hpp"      //usage de string Fonctionel
//#include "fstack.hpp"       //usage de pile Fonctionel
#include "pile.hpp"

/*---------------------------------------------------------
classe
---------------------------------------------------------*/

class palindrome{
    fstring * _fstr;          //string fonctionnel, immutable
    pile<char> _stk;          //stack fonctionnel comme en lisp
    //methode privée
    void init(const char *);  //initialisation
    void clear();             //vider l'objet
public:
    //constructeur destructeur
    palindrome(const char *);
    ~palindrome();
    //methode
    bool operator()();
};

#endif
