Merge pull request #313 from gummif/gfa/socket-ctor

Problem: socket_t can not be default constructed
This commit is contained in:
Simon Giesecke 2019-04-15 10:58:45 +02:00 committed by GitHub
commit 961bb4fb46
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 0 deletions

View File

@ -9,6 +9,11 @@ static_assert(std::is_nothrow_swappable<zmq::socket_t>::value,
"socket_t should be nothrow swappable");
#endif
TEST_CASE("socket default ctor", "[socket]")
{
zmq::socket_t socket;
}
TEST_CASE("socket create destroy", "[socket]")
{
zmq::context_t context;
@ -16,6 +21,15 @@ TEST_CASE("socket create destroy", "[socket]")
}
#ifdef ZMQ_CPP11
TEST_CASE("socket create assign", "[socket]")
{
zmq::context_t context;
zmq::socket_t socket(context, ZMQ_ROUTER);
CHECK(static_cast<void*>(socket));
socket = {};
CHECK(!static_cast<void*>(socket));
}
TEST_CASE("socket create by enum and destroy", "[socket]")
{
zmq::context_t context;

View File

@ -646,6 +646,12 @@ class socket_t
friend class monitor_t;
public:
socket_t() ZMQ_NOTHROW
: ptr(ZMQ_NULLPTR)
, ctxptr(ZMQ_NULLPTR)
{
}
socket_t(context_t &context_, int type_)
: ptr(zmq_socket(static_cast<void*>(context_), type_))
, ctxptr(static_cast<void*>(context_))