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