3 * Interface to class signaling failure of operation. Considered obsolete all
4 * this stuff ought to be replaced by exceptions. */
14 class fail : public basic
19 // default constructor, destructor, copy constructor assignment operator and helpers
23 fail(fail const & other);
24 fail const & operator=(fail const & other);
26 void copy(fail const & other);
27 void destroy(bool call_parent);
32 // functions overriding virtual functions from bases classes
34 basic * duplicate() const;
35 void printraw(ostream & os) const;
36 void print(ostream & os, unsigned upper_precedence=0) const;
38 int compare_same_type(basic const & other) const;
39 unsigned return_type(void) const { return return_types::noncommutative_composite; };
41 // new virtual functions which can be overridden by derived classes
44 // non-virtual functions in this class
53 extern const fail some_fail;
54 extern type_info const & typeid_fail;
56 #endif // ndef _FAIL_H_