1 | |
2 | /******************************************************************************/ |
3 | /* 0MQ Internal Use */ |
4 | /******************************************************************************/ |
5 | |
6 | #define LIBZMQ_UNUSED(object) (void) object |
7 | #define LIBZMQ_DELETE(p_object) \ |
8 | { \ |
9 | delete p_object; \ |
10 | p_object = 0; \ |
11 | } |
12 | |
13 | /******************************************************************************/ |
14 | |
15 | #if !defined ZMQ_NOEXCEPT |
16 | #if defined ZMQ_HAVE_NOEXCEPT |
17 | #define ZMQ_NOEXCEPT noexcept |
18 | #else |
19 | #define ZMQ_NOEXCEPT |
20 | #endif |
21 | #endif |
22 | |
23 | #if !defined ZMQ_DEFAULT |
24 | #if defined ZMQ_HAVE_NOEXCEPT |
25 | #define ZMQ_DEFAULT = default; |
26 | #else |
27 | #define ZMQ_DEFAULT \ |
28 | { \ |
29 | } |
30 | #endif |
31 | #endif |
32 | |
33 | #if !defined ZMQ_NON_COPYABLE_NOR_MOVABLE |
34 | #if defined ZMQ_HAVE_NOEXCEPT |
35 | #define ZMQ_NON_COPYABLE_NOR_MOVABLE(classname) \ |
36 | public: \ |
37 | classname (const classname &) = delete; \ |
38 | classname &operator= (const classname &) = delete; \ |
39 | classname (classname &&) = delete; \ |
40 | classname &operator= (classname &&) = delete; |
41 | #else |
42 | #define ZMQ_NON_COPYABLE_NOR_MOVABLE(classname) \ |
43 | private: \ |
44 | classname (const classname &); \ |
45 | classname &operator= (const classname &); |
46 | #endif |
47 | #endif |
48 | |