Inheritance diagram for strmod::lcore::LCoreError:
|LCoreError (const char *desc=0, const char *sourcefile=0, unsigned int line=0, const char *func=0) throw ()|
|LCoreError (const char *desc, const CompilerInfo &inf) throw ()|
|Contruct an LCoreError with a description, and a CompilerInfo object.|
|LCoreError (const CompilerInfo &inf) throw ()|
|Construct an LCoreError with a CompilerInfo object, but no description.|
|const char *||getDesc () const throw ()|
|Get the description, may return NULL.|
|const char *||getSourceFile () const throw ()|
|Get the source file, may return NULL.|
|unsigned int||getLine () const throw ()|
|Get the line number.|
|const char *||getFunc () const throw ()|
|Get the function name, may return NULL.|
This is a very simple class. It just holds pointers to information. It expects that the information it points to will not go away. In fact, it's best if the information being pointed to consists of all constant strings allocated at program start and never destroyed.
This class is designed to be able to be embedded inside of an exception. It does no dynamic allocation, or any other operation capable of throwing an exception for this reason.
Derived classes need to be designed with the idea that there is no virtual destructor. They should also handle 'slicing' elegantly.
Everything in this class is 'const' so that the class may also be easily used in threading situations. This also requires that everything the class points at be similarily immutable.
Definition at line 78 of file LCoreError.h.