Drop the support of VS2013

This commit is contained in:
Chunting Gu
2019-03-08 14:14:33 +08:00
parent 3647407b8b
commit 0db366bfe0
17 changed files with 39 additions and 130 deletions
+6 -27
View File
@@ -2,33 +2,8 @@
#define WEBCC_GLOBALS_H_
#include <cassert>
#include <exception>
#include <string>
#include <vector>
#include "webcc/version.h"
// -----------------------------------------------------------------------------
// Macros
// Does the compiler support "= default" for move copy constructor and
// move assignment operator?
#ifdef _MSC_VER
#if _MSC_VER <= 1800 // VS 2013
#define WEBCC_DEFAULT_MOVE_COPY_ASSIGN 0
#else
#define WEBCC_DEFAULT_MOVE_COPY_ASSIGN 1
#endif // _MSC_VER <= 1800
#else
#define WEBCC_DEFAULT_MOVE_COPY_ASSIGN 1
#endif // _MSC_VER
// Explicitly declare the copy constructor and assignment operator as deleted.
#define WEBCC_DELETE_COPY_ASSIGN(TypeName) \
TypeName(const TypeName&) = delete; \
TypeName& operator=(const TypeName&) = delete;
// Default user agent.
#define USER_AGENT "Webcc/" WEBCC_VERSION
namespace webcc {
@@ -120,6 +95,9 @@ const char* const kUtf8 = "utf-8";
} // namespace charsets
// Return default user agent for HTTP headers.
const std::string& UserAgent();
} // namespace http
// -----------------------------------------------------------------------------
@@ -156,7 +134,8 @@ public:
explicit Exception(Error error = kNoError, bool timeout = false,
const std::string& details = "");
const char* what() const override {
// Note that `noexcept` is required by GCC.
const char* what() const noexcept override {
return msg_.c_str();
}