63 lines
1.4 KiB
C++
63 lines
1.4 KiB
C++
/*
|
|
*
|
|
* REFERENCES:
|
|
*
|
|
* NOTES:
|
|
*
|
|
* REVISIONS:
|
|
* sja05Nov92: Added a new constructor which allows the use of #defines's
|
|
* for the value parameter
|
|
* ane11Nov92: Removed !=, == members. They're in object now.
|
|
*
|
|
* ker20Nov92: Added SetValue function
|
|
* pcy26Nov92: object.h changed to apcobj.h
|
|
* pcy27Jan93: HashValue is no longer const
|
|
* ane08Feb93: Added copy constructor
|
|
* cad28Sep93: Made sure destructor(s) virtual
|
|
* ntf03Jan96: added printMeOut and operator<< functions for Attribute class
|
|
*/
|
|
#ifndef __ATTRIB_H
|
|
#define __ATTRIB_H
|
|
|
|
#if !defined( __APCOBJ_H )
|
|
#include "apcobj.h"
|
|
#endif
|
|
|
|
_CLASSDEF(Attribute)
|
|
|
|
#ifdef APCDEBUG
|
|
class ostream;
|
|
#endif
|
|
|
|
class Attribute : public Obj {
|
|
|
|
private:
|
|
PCHAR theValue;
|
|
INT theAttributeCode;
|
|
|
|
protected:
|
|
#ifdef APCDEBUG
|
|
virtual ostream& printMeOut(ostream& os);
|
|
#endif
|
|
|
|
public:
|
|
|
|
#ifdef APCDEBUG
|
|
friend ostream& operator<< (ostream& os, Attribute &);
|
|
#endif
|
|
|
|
Attribute(INT, PCHAR);
|
|
Attribute(INT, LONG);
|
|
Attribute(const Attribute &anAttr);
|
|
virtual ~Attribute();
|
|
INT GetCode() const { return theAttributeCode; };
|
|
const PCHAR GetValue();
|
|
VOID SetCode(INT aCode);
|
|
INT SetValue(const PCHAR);
|
|
INT SetValue(LONG);
|
|
virtual INT Equal( RObj ) const;
|
|
virtual INT IsA() const { return ATTRIBUTE; };
|
|
};
|
|
#endif
|
|
|