MessagePack for C++
unpack_exception.hpp
Go to the documentation of this file.
1 //
2 // MessagePack for C++ deserializing routine
3 //
4 // Copyright (C) 2008-2016 FURUHASHI Sadayuki and KONDO Takatoshi
5 //
6 // Distributed under the Boost Software License, Version 1.0.
7 // (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9 //
10 #ifndef MSGPACK_V1_UNPACK_EXCEPTION_HPP
11 #define MSGPACK_V1_UNPACK_EXCEPTION_HPP
12 
13 #include "msgpack/versioning.hpp"
14 
15 #include <string>
16 #include <stdexcept>
17 
18 
19 namespace msgpack {
20 
24 
25 struct unpack_error : public std::runtime_error {
26  explicit unpack_error(const std::string& msg)
27  :std::runtime_error(msg) {}
28 #if !defined(MSGPACK_USE_CPP03)
29  explicit unpack_error(const char* msg):
30  std::runtime_error(msg) {}
31 #endif // !defined(MSGPACK_USE_CPP03)
32 };
33 
34 struct parse_error : public unpack_error {
35  explicit parse_error(const std::string& msg)
36  :unpack_error(msg) {}
37 #if !defined(MSGPACK_USE_CPP03)
38  explicit parse_error(const char* msg)
39  :unpack_error(msg) {}
40 #endif // !defined(MSGPACK_USE_CPP03)
41 };
42 
44  explicit insufficient_bytes(const std::string& msg)
45  :unpack_error(msg) {}
46 #if !defined(MSGPACK_USE_CPP03)
47  explicit insufficient_bytes(const char* msg)
48  :unpack_error(msg) {}
49 #endif // !defined(MSGPACK_USE_CPP03)
50 };
51 
52 struct size_overflow : public unpack_error {
53  explicit size_overflow(const std::string& msg)
54  :unpack_error(msg) {}
55 #if !defined(MSGPACK_USE_CPP03)
56  explicit size_overflow(const char* msg)
57  :unpack_error(msg) {}
58 #endif
59 };
60 
62  array_size_overflow(const std::string& msg)
63  :size_overflow(msg) {}
64 #if !defined(MSGPACK_USE_CPP03)
65  array_size_overflow(const char* msg)
66  :size_overflow(msg) {}
67 #endif
68 };
69 
71  map_size_overflow(const std::string& msg)
72  :size_overflow(msg) {}
73 #if !defined(MSGPACK_USE_CPP03)
74  map_size_overflow(const char* msg)
75  :size_overflow(msg) {}
76 #endif
77 };
78 
80  str_size_overflow(const std::string& msg)
81  :size_overflow(msg) {}
82 #if !defined(MSGPACK_USE_CPP03)
83  str_size_overflow(const char* msg)
84  :size_overflow(msg) {}
85 #endif
86 };
87 
89  bin_size_overflow(const std::string& msg)
90  :size_overflow(msg) {}
91 #if !defined(MSGPACK_USE_CPP03)
92  bin_size_overflow(const char* msg)
93  :size_overflow(msg) {}
94 #endif
95 };
96 
98  ext_size_overflow(const std::string& msg)
99  :size_overflow(msg) {}
100 #if !defined(MSGPACK_USE_CPP03)
101  ext_size_overflow(const char* msg)
102  :size_overflow(msg) {}
103 #endif
104 };
105 
107  depth_size_overflow(const std::string& msg)
108  :size_overflow(msg) {}
109 #if !defined(MSGPACK_USE_CPP03)
110  depth_size_overflow(const char* msg)
111  :size_overflow(msg) {}
112 #endif
113 };
114 
116 } // MSGPACK_API_VERSION_NAMESPACE(v1)
118 
119 } // namespace msgpack
120 
121 
122 #endif // MSGPACK_V1_UNPACK_EXCEPTION_HPP
Definition: adaptor_base.hpp:15
Definition: unpack_exception.hpp:61
array_size_overflow(const char *msg)
Definition: unpack_exception.hpp:65
array_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:62
Definition: unpack_exception.hpp:88
bin_size_overflow(const char *msg)
Definition: unpack_exception.hpp:92
bin_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:89
Definition: unpack_exception.hpp:106
depth_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:107
depth_size_overflow(const char *msg)
Definition: unpack_exception.hpp:110
Definition: unpack_exception.hpp:97
ext_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:98
ext_size_overflow(const char *msg)
Definition: unpack_exception.hpp:101
Definition: unpack_exception.hpp:43
insufficient_bytes(const std::string &msg)
Definition: unpack_exception.hpp:44
insufficient_bytes(const char *msg)
Definition: unpack_exception.hpp:47
Definition: unpack_exception.hpp:70
map_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:71
map_size_overflow(const char *msg)
Definition: unpack_exception.hpp:74
Definition: unpack_exception.hpp:34
parse_error(const std::string &msg)
Definition: unpack_exception.hpp:35
parse_error(const char *msg)
Definition: unpack_exception.hpp:38
Definition: unpack_exception.hpp:52
size_overflow(const char *msg)
Definition: unpack_exception.hpp:56
size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:53
Definition: unpack_exception.hpp:79
str_size_overflow(const std::string &msg)
Definition: unpack_exception.hpp:80
str_size_overflow(const char *msg)
Definition: unpack_exception.hpp:83
Definition: unpack_exception.hpp:25
unpack_error(const char *msg)
Definition: unpack_exception.hpp:29
unpack_error(const std::string &msg)
Definition: unpack_exception.hpp:26
#define MSGPACK_API_VERSION_NAMESPACE(ns)
Definition: versioning.hpp:66