1 #ifndef MSP_IO_HANDLE_H_
2 #define MSP_IO_HANDLE_H_
15 Private *priv = nullptr;
19 Handle(const Handle &);
20 Handle &operator=(const Handle &);
23 Private &operator*() { return *priv; }
24 const Private &operator*() const { return *priv; }
26 explicit operator bool() const;
30 void sys_set_blocking(Handle &, bool);
31 void sys_set_inherit(Handle &, bool);
32 std::size_t sys_read(Handle &, char *, std::size_t);
33 std::size_t sys_write(Handle &, const char *, std::size_t);
34 void sys_close(Handle &);