uvcc
libuv C++ bindings
handle.hpp
1 
2 #ifndef UVCC_HANDLE__HPP
3 #define UVCC_HANDLE__HPP
4 
5 #include "uvcc/handle-base.hpp"
6 #include "uvcc/handle-io.hpp"
7 #include "uvcc/handle-stream.hpp"
8 #include "uvcc/handle-fs.hpp"
9 #include "uvcc/handle-udp.hpp"
10 #include "uvcc/handle-misc.hpp"
11 
12 #include <uv.h>
13 
14 
15 namespace uv
16 {
17 /*! \defgroup doxy_group__handle Handles
18  \brief The classes representing libuv handles. */
19 
20 
21 /* libuv handles */
22 class async;
23 class check;
24 class fs_event;
25 class fs_poll;
26 class handle;
27 class idle;
28 class pipe;
29 class poll;
30 class prepare;
31 class process;
32 class stream;
33 class tcp;
34 class timer;
35 class tty;
36 class udp;
37 class signal;
38 
39 
40 
41 /*! \defgroup doxy_group__handle_traits uv_handle_traits< typename >
42  \ingroup doxy_group__handle
43  \brief The correspondence between libuv handle data types and C++ classes representing them. */
44 //! \{
45 //! \cond
46 template< typename _UV_T_ > struct uv_handle_traits {};
47 //! \endcond
48 #if defined(DEBUG)
49 #define XX(X, x) template<> struct uv_handle_traits< uv_##x##_t >\
50 {
51  using type = x;
52  static constexpr const char *type_name = #x;\
53 };
54 #else
55 #define XX(X, x) template<> struct uv_handle_traits< uv_##x##_t > { using type = x; };
56 #endif
57 UV_HANDLE_TYPE_MAP(XX)
58 #undef XX
59 //! \}
60 
61 
62 }
63 
64 
65 #endif
Namespace for all uvcc definitions.
Definition: buffer.hpp:17
Stream handle.
Idle handle.
Process handle.
UDP handle.
Definition: handle-udp.hpp:23
TTY handle.
Timer handle.
Prepare handle.
poll(uv::loop &_loop, ::uv_os_sock_t _socket)
Create a poll handle for a socket descriptor. (Windows only.)
The base class for the libuv handles.
Definition: handle-base.hpp:33
Check handle.
Signal handle.
Async handle.
Definition: handle-misc.hpp:25
Pipe handle.
TCP handle.
FS Event handle.
Definition: handle-fs.hpp:265