#ifndef __MEMBER_HPP #define __MEMBER_HPP #include "identifier.hpp" class istream; class ostream; class aMember : public anIdentifier { typedef anIdentifier inherited; int ismetaclassmember; public: aMember(const char *name, const char *typename, reftype r, int c, int ismeta); aMember(const String& name, const String& typename, reftype r, int c, int ismeta); aMember(const aMember& i); aMember(istream& is); virtual ~aMember(); aMember& operator=(const aMember& i); int isMetaClassMember() const { return ismetaclassmember; } virtual int isField() const =0; //stream stuff friend ostream& operator<<(ostream& os, const aMember& m); virtual ostream& write(ostream& os) const; }; inline ostream& operator<<(ostream& os, const aMember& m) { return m.write(os); } #endif