|
|
| Pipe (Pipe &&rhs) noexcept |
| |
|
Pipe & | operator= (Pipe &&rhs) noexcept |
| |
|
pipe_t | out () const noexcept |
| | Out pipe. Also known as pipe[0].
|
| |
|
pipe_t | in () const noexcept |
| | In pipe. Also known as pipe[1].
|
| |
|
void | closeOut () noexcept |
| | Close out. Also known as close(pipe[0])
|
| |
|
void | closeIn () noexcept |
| | Close in. Also known as close(pipe[1])
|
| |
| pipe_t | stealOut () noexcept |
| | Steals ownership of the out pipe outside of the Pipe class.
|
| |
| pipe_t | stealIn () noexcept |
| | Steals ownership of the in pipe outside of the Pipe class.
|
| |
| size_t | read (char *dst, size_t size) override |
| | Reads up to size bytes from stream. Blocking (waiting for new data) is allowed.
|
| |
| void | write (const char *src, size_t size) override |
| | Writes exact size bytes to stream. Blocking (waiting for write all data) is allowed.
|
| |
|
| noncopyable (const noncopyable &)=delete |
| |
|
noncopyable & | operator= (const noncopyable &)=delete |
| |
| size_t | read (std::span< std::byte > destination) |
| | Reads up to destination.size() bytes from stream. Blocking (waiting for new data) is allowed.
|
| |
| void | readExact (char *dst, size_t size) |
| | Reads exact size bytes from stream. Blocking (waiting for new data) is allowed.
|
| |
| template<typename T> |
| T | deserialize () |
| |
| template<typename T> |
| IInputStream & | operator>> (T &dst) |
| |
| template<typename T> |
| IInputStream & | operator>> (T &&dst) |
| |
| template<typename T> |
| void | write (const T &t) |
| |
| template<typename T> |
| IOutputStream & | operator<< (const T &t) |
| |
- Windows-specific
- On Windows, implemented with CreateNamedPipe.
On *nix, implemented with pipe(2).