Problem: Missing swap functions

Solution: Implement for socket_t, context_t, message_t and poller_t
Additionally remove dependency on <functional> by refactoring poller_t
and remove unused <unordered_map> include.
This commit is contained in:
Gudmundur Adalsteinsson
2019-04-02 14:01:10 +00:00
parent e1fe5e5209
commit 83b91c8b7e
7 changed files with 108 additions and 9 deletions

View File

@@ -1,6 +1,11 @@
#include <catch.hpp>
#include <zmq.hpp>
#if (__cplusplus >= 201703L)
static_assert(std::is_nothrow_swappable<zmq::context_t>::value,
"context_t should be nothrow swappable");
#endif
TEST_CASE("context construct default and destroy", "[context]")
{
zmq::context_t context;
@@ -12,3 +17,13 @@ TEST_CASE("context create, close and destroy", "[context]")
context.close();
CHECK(NULL == (void *) context);
}
#ifdef ZMQ_CPP11
TEST_CASE("context swap", "[context]")
{
zmq::context_t context1;
zmq::context_t context2;
using std::swap;
swap(context1, context2);
}
#endif