00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __CODEX_CIPHERS_CIPHEREXCEPTIONS_H__
00019 #define __CODEX_CIPHERS_CIPHEREXCEPTIONS_H__
00020
00021 #include <string>
00022
00023 using namespace std;
00024
00029 namespace CODEX_Ciphers
00030 {
00034 class ExceptionBase
00035 {
00036 public :
00042 ExceptionBase( const string& fname, int line ) :
00043 m_fname(fname),
00044 m_line(line)
00045 {}
00046
00048 virtual ~ExceptionBase() {}
00049
00053 void report() const;
00054
00056 const string& fname() const { return m_fname; }
00057
00059 int line() const { return m_line; }
00060
00061 protected :
00066 virtual void derivedMsg() const = 0;
00067
00068 private :
00069 string m_fname;
00070 int m_line;
00071 };
00072
00073 }
00074
00075 #endif