// This may look like C code, but it is really -*- C++ -*-
//
//  ${project}  --  Copyright (c) University of Aizu 1994
//
//

// Wrappers protect against including this file more than once

#ifndef Key_h
#define Key_h 1

//
//  >>> Insert short module description here <<<
//

#include <Base.h>

//  >>> Insert interface definitions here
class Key : public Base {
public:
  // constructors (using "new"? Do not forget copy constructor!!!)
  Key(const char* key = 0);
  Key(const Key&);

  // virtual destructor
  virtual ~Key(void);

  // assignment and comparison operators
  Key& operator=(const Key&);
  int operator==(const Key&) const;

  // action member functions

  // IO
  virtual char* classname(void) const;
  virtual IOstatus readContents(void);
  virtual IOstatus writeContents(void) const;

private:
  char* key_;
};

// End of wrapper
#endif
// End of file
