summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rapidjsonwrapper.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/rapidjsonwrapper.h b/rapidjsonwrapper.h
new file mode 100644
index 00000000..cf3dd829
--- /dev/null
+++ b/rapidjsonwrapper.h
@@ -0,0 +1,33 @@
+#pragma once
+#include <exception>
+#include <stdexcept>
+
+struct GenericException;
+struct ParseException;
+
+struct GenericException: public std::exception
+{
+ GenericException() : std::exception() {}
+ virtual const char* what() const throw()
+ {
+ return "Exception while parsing json.";
+ }
+};
+
+#define RAPIDJSON_HAS_STDSTRING 1
+#define RAPIDJSON_HAS_CXX11_NOEXCEPT 0
+#define RAPIDJSON_ASSERT(x) do {if (!(x)) throw GenericException(); } while(0);
+#define RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,offset) \
+ throw ParseException(parseErrorCode, #parseErrorCode, offset)
+
+#include "rapidjson/error/error.h"
+struct ParseException: public std::runtime_error, rapidjson::ParseResult
+{
+ ParseException(rapidjson::ParseErrorCode code, const char* msg, size_t offset) : std::runtime_error(msg),
+ ParseResult(code, offset) {}
+};
+
+#include "rapidjson/rapidjson.h"
+#include "rapidjson/document.h"
+
+