![]() |
The Simons
|
00001 00002 // 00003 // SCL : Simons Component Library 00004 // 00006 // 00007 // Filename: Undefined.h 00008 // Contents: Undefined class, signalling an undefined method 00009 // Author: Anthony J H Simons 00010 // Revised: 29 November 2005 00011 00012 // This software is distributed free in the hope that others will 00013 // find it useful. However, it comes WITHOUT ANY WARRANTY. No 00014 // liability can be accepted for software failure, merchantability 00015 // or fitness for a particular purpose. You can redistribute this 00016 // software in its original form, or in a modified form, provided 00017 // that this disclaimer is retained in the file banner. 00018 00019 #ifndef SCL_UNDEFINED 00020 #define SCL_UNDEFINED 00021 00022 #include "MethodError.h" // Include my superclass type 00023 #include "UndefinedID.h" // Include my pointer type 00024 00025 #include "StringID.h" // Depend on the pointer type 00026 00038 00039 class Undefined : public MethodError { 00040 protected: 00041 Undefined(const Undefined&); 00042 public: 00043 Undefined(); 00044 virtual ~Undefined(); 00045 Undefined(ObjectID, StringID); 00046 virtual ObjectID clone() const; 00047 }; 00048 00050 00053 inline UndefinedID::UndefinedID() {} 00054 00056 inline UndefinedID::~UndefinedID() {} 00057 00061 inline UndefinedID::UndefinedID(const Null* null) : 00062 MethodErrorID(null) {} 00063 00067 inline UndefinedID::UndefinedID(const Undefined* exception) : 00068 MethodErrorID(exception) {} 00069 00073 inline UndefinedID::UndefinedID(const UndefinedID& pointer) : 00074 MethodErrorID(pointer) {} 00075 00079 inline UndefinedID& UndefinedID::operator=(const Undefined* exception) { 00080 assign(exception); 00081 return *this; 00082 } 00083 00088 inline UndefinedID& UndefinedID::operator=(const UndefinedID& pointer) { 00089 assign(pointer); 00090 return *this; 00091 } 00092 00093 00094 #endif 00095