00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BITTYPE_EXCEPTION_H
00020 #define BITTYPE_EXCEPTION_H
00021
00022 #include <sstream>
00023
00024 #include <bit/except.h>
00025
00026 namespace bit
00027 {
00028
00034 class type_exception: public bit_exception
00035 {
00036 public:
00037 type_exception(): bit_exception("bit:Type: Unknown type exception.")
00038 { }
00039 type_exception(const std::string s): bit_exception(s)
00040 { }
00041 }
00042 ;
00043
00044 namespace exception
00045 {
00046
00047
00048 namespace type
00049 {
00050
00056 class integer_length: public type_exception
00057 {
00058 public:
00059 integer_length(): type_exception("bit:Type: Integer length must be <= 64.")
00060 { }
00061 }
00062 ;
00063
00069 class floating_point_length: public type_exception
00070 {
00071 public:
00072 floating_point_length(): type_exception("bit:Type: Bad floating point length. Length must be 32 or 64.")
00073 { }
00074 }
00075 ;
00076
00077 }
00078 }
00079 }
00080 #endif