UNISTDX_IO_PIPE
class sys::pipe

A pipe constructed with pipe(2) system call.

Methods
  • swap(pipe & rhs) -> void

    Swap with rhs.

  • close() -> void

    Close both pipe file descriptors.

    bad_call

    See
    close(2)
  • open() -> void

    Create pipe with pipe(2) system call.

    bad_call

    See
    pipe2(2)
  • 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.

    bad_call

    Both file descriptors are in non-blocking mode and have close-on-exec flag set.

    See
    pipe2(2)
Friends
  • operator<<

    Print pipe input and output file descriptors for debugging.

class sys::splice
Methods
  • operator()(pipe & in, fildes & out, size_t n) -> ssize_t
  • operator()(fildes & in, pipe & out, size_t n) -> ssize_t
  • operator()(fildes & in, fildes & out, size_t n) -> ssize_t
swap(pipe & lhs, pipe & rhs) -> void

Overload of std::swap for pipe.

operator<<(std::ostream & out, const pipe & rhs) -> std::ostream &

Print pipe input and output file descriptors for debugging.