A pipe constructed with pipe(2) system call.
swap(pipe & rhs) -> void
Swap with rhs.
close() -> voidClose both pipe file descriptors.
open() -> voidCreate pipe with pipe(2) system call.
out() const -> const fildes &Output file descriptor.
in() const -> const fildes &Input file descriptor.
out() -> fildes &Output file descriptor.
in() -> fildes &Input file descriptor.
~pipe()operator=(pipe && rhs) -> pipe &Move-assignment.
operator=(const pipe &) -> pipe &pipe(const pipe &)pipe(fd_type in, fd_type out)Construct pipe with existing file descriptors.
pipe(pipe && rhs)Move-constructor.
pipe()Construct pipe with pipe(2) system call. Both file descriptors are in non-blocking mode and have close-on-exec flag set.
operator<<(std::ostream & out, const pipe & rhs) -> std::ostream &Print pipe input and output file descriptors for debugging.