00001 #ifndef CLASSLIB_REGEXP_ERROR_H 00002 # define CLASSLIB_REGEXP_ERROR_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "classlib/utils/Error.h" 00007 # include <string> 00008 00009 namespace lat { 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 //<<<<<< PUBLIC VARIABLES >>>>>> 00014 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00015 //<<<<<< CLASS DECLARATIONS >>>>>> 00016 00018 class RegexpError : public Error 00019 { 00020 public: 00021 RegexpError (const char *context, int syntax, int error); 00022 RegexpError (const char *context, int syntax, const char *msg); 00023 00024 virtual std::string explainSelf (void) const; 00025 virtual Error * clone (void) const; 00026 virtual void rethrow (void); 00027 00028 private: 00029 const char *m_context; 00030 int m_syntax; 00031 int m_error; 00032 std::string m_message; 00033 }; 00034 00035 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00036 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00037 00038 } // namespace lat 00039 #endif // CLASSLIB_REGEXP_ERROR_H