1 #ifndef MSP_IO_HANDLE_H_
2 #define MSP_IO_HANDLE_H_
17 Handle(const Handle &);
18 Handle &operator=(const Handle &);
21 Private &operator*() { return *priv; }
22 const Private &operator*() const { return *priv; }
24 /** This is effectively a boolean conversion, but avoids accidental
25 conversion to OS native handles. Unix-based systems use int and win32 uses
26 void *; const void * is not implicitly convertible to either. */
27 operator const void *() const;
31 void sys_set_blocking(Handle &, bool);
32 void sys_set_inherit(Handle &, bool);
33 unsigned sys_read(Handle &, char *, unsigned);
34 unsigned sys_write(Handle &, const char *, unsigned);
35 void sys_close(Handle &);