Browse Source

Make Client move-constructible (#1051)

Zizheng Tai 4 years ago
parent
commit
e1efa337a2
2 changed files with 8 additions and 0 deletions
  1. 2 0
      httplib.h
  2. 6 0
      test/test.cc

+ 2 - 0
httplib.h

@@ -1161,6 +1161,8 @@ public:
                   const std::string &client_cert_path,
                   const std::string &client_key_path);
 
+  Client(Client &&) = default;
+
   ~Client();
 
   bool is_valid() const;

+ 6 - 0
test/test.cc

@@ -8,6 +8,7 @@
 #include <sstream>
 #include <stdexcept>
 #include <thread>
+#include <type_traits>
 
 #define SERVER_CERT_FILE "./cert.pem"
 #define SERVER_CERT2_FILE "./cert2.pem"
@@ -40,6 +41,11 @@ MultipartFormData &get_file_value(MultipartFormDataItems &files,
   throw std::runtime_error("invalid mulitpart form data name error");
 }
 
+TEST(ConstructorTest, MoveConstructible) {
+  EXPECT_FALSE(std::is_copy_constructible<Client>::value);
+  EXPECT_TRUE(std::is_nothrow_move_constructible<Client>::value);
+}
+
 #ifdef _WIN32
 TEST(StartupTest, WSAStartup) {
   WSADATA wsaData;