#ifndef _GF2NIOBASE_H
#define _GF2NIOBASE_H

#include <LiDIA/gf2n.h>
#include <iostream.h>
#include <LiDIA/lidia.h>


class gf2nIO
{
 public:
  
  enum base { Dec, Hex };

private:

  static base iobase;                    /* actual base */
  static char *ioprefix;                 /* prefix */

  friend class gf2n;
  friend ostream & operator << (ostream &, const gf2n &);

/* ---------------------------------------------------------------------- */

public:

  gf2nIO();
  gf2nIO(base, char *);
  
  static void           setbase      (base new_base);
  static base           showbase     ();
  static void           setprefix    (base actual_base);
  static void           setprefix    (char *prefix);
  static void           noprefix     ();
  static char*          showprefix   ();
  
/*----------------------------------------------------------------------*/
};

#endif

