#ifndef __IDENTIFIER_HPP #define __IDENTIFIER_HPP #include "typeref.hpp" class istream; class ostream; class anIdentifier : public aTypeReference { typedef aTypeReference inherited; String *name; public: anIdentifier(const char *name, const char *typename, reftype r, int c); anIdentifier(const String& name, const String& typename, reftype r, int c); anIdentifier(const anIdentifier& i); anIdentifier(istream& is); virtual ~anIdentifier(); anIdentifier& operator=(const anIdentifier& i); const String *getName() const { return name; } void changeName(const char *newname); friend ostream& operator<<(ostream& os, const anIdentifier& id); virtual ostream& write(ostream& os) const; }; inline ostream& operator<<(ostream& os, const anIdentifier& id) { return id.write(os); } #endif