00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BITINDICES_ERROR_H
00020 #define BITINDICES_ERROR_H
00021
00022 #include <sstream>
00023
00024 #include <bit/error.h>
00025
00026 namespace bit
00027 {
00028
00034 class indices_error: public bit_error
00035 {
00036 public:
00037 indices_error(): bit_error("bit:Indices: Unknown error.")
00038 { }
00039 indices_error(const std::string s): bit_error(s)
00040 { }
00041 }
00042 ;
00043
00044 namespace error
00045 {
00046
00047
00048 namespace indices
00049 {
00050
00056 class invalid_numeric_id: public indices_error
00057 {
00058 public:
00059 invalid_numeric_id(): indices_error("bit:Indices: Invalid numeric identifier, index not found.")
00060 { }
00061 invalid_numeric_id(unsigned int id): indices_error("bit:Indices: Invalid numeric identifier, index not found.")
00062 {
00063 std::ostringstream sout;
00064 sout << "bit:Indices: No index with numeric identifier (" << id << ")";
00065 m_error_string = sout.str();
00066 }
00067 }
00068 ;
00069
00075 class invalid_string_id: public indices_error
00076 {
00077 public:
00078 invalid_string_id(): indices_error("bit:Indices: Invalid string identifier, index not found.")
00079 { }
00080 invalid_string_id(std::string s): indices_error("bit:Indices: Invalid numeric identifier, index not found.")
00081 {
00082 m_error_string = "bit:Indices: No index with string identifier (" + s + ")";
00083 }
00084 }
00085 ;
00086
00087
00088 }
00089 }
00090 }
00091 #endif