|
| QUICKCPPLIB_BITFIELD_BEGIN (flag) |
| The behaviour of theprocess handle. More...
|
|
| QUICKCPPLIB_BITFIELD_END (flag) |
|
constexpr | process_handle () |
| Default constructor.
|
|
constexpr | process_handle (native_handle_type h, flag flags=flag::none) noexcept |
| Construct a handle from a supplied native handle.
|
|
constexpr | process_handle (handle &&o, flag flags=flag::none) noexcept |
| Explicit conversion from handle permitted.
|
|
| process_handle (const process_handle &)=delete |
| No copy construction (use clone())
|
|
process_handle & | operator= (const process_handle &o)=delete |
| No copy assignment.
|
|
constexpr | process_handle (process_handle &&o) noexcept |
| Move the handle.
|
|
process_handle & | operator= (process_handle &&o) noexcept |
| Move assignment of handle.
|
|
void | swap (process_handle &o) noexcept |
| Swap with another instance.
|
|
pipe_handle & | in_pipe () noexcept |
|
const pipe_handle & | in_pipe () const noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
pipe_handle & | error_pipe () noexcept |
|
const pipe_handle & | error_pipe () const noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
pipe_handle & | out_pipe () noexcept |
|
const pipe_handle & | out_pipe () const noexcept |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
|
result< void > | close_pipes () noexcept |
| Close or release all the pipes, depending on flag::release_pipes_on_close
|
|
bool | is_running () const noexcept |
| Returns true if the process is currently running.
|
|
virtual result< path_type > | current_path () const noexcept override |
|
virtual result< void > | close () noexcept override |
| Immediately close this handle, possibly closing the pipes, possibly blocking until a child process exits.
|
|
result< process_handle > | clone () const noexcept |
|
virtual result< void > | set_append_only (bool) noexcept override |
| EXTENSION: Changes whether this handle is append only or not. More...
|
|
std::unique_ptr< span< path_view_component >, _byte_array_deleter > | environment () const noexcept |
|
result< intptr_t > | wait (deadline d={}) const noexcept |
|
template<class... Args> |
bool | try_wait (Args &&... args) noexcept |
|
template<class... Args, class Rep , class Period > |
bool | try_wait_for (Args &&... args, const std::chrono::duration< Rep, Period > &duration) noexcept |
|
template<class... Args, class Clock , class Duration > |
bool | try_wait_until (Args &&... args, const std::chrono::time_point< Clock, Duration > &timeout) noexcept |
|
void | swap (handle &o) noexcept |
| Swap with another instance.
|
|
virtual native_handle_type | release () noexcept |
| Release the native handle type managed by this handle.
|
|
bool | is_valid () const noexcept |
| True if the handle is valid (and usually open)
|
|
bool | is_readable () const noexcept |
| True if the handle is readable.
|
|
bool | is_writable () const noexcept |
| True if the handle is writable.
|
|
bool | is_append_only () const noexcept |
| True if the handle is append only.
|
|
bool | is_multiplexable () const noexcept |
| True if multiplexable.
|
|
bool | is_nonblocking () const noexcept |
| True if nonblocking.
|
|
bool | is_seekable () const noexcept |
| True if seekable.
|
|
bool | requires_aligned_io () const noexcept |
| True if requires aligned i/o.
|
|
bool | is_regular () const noexcept |
| True if a regular file or device.
|
|
bool | is_directory () const noexcept |
| True if a directory.
|
|
bool | is_symlink () const noexcept |
| True if a symlink.
|
|
bool | is_pipe () const noexcept |
| True if a pipe.
|
|
bool | is_socket () const noexcept |
| True if a socket.
|
|
bool | is_multiplexer () const noexcept |
| True if a multiplexer like BSD kqueues, Linux epoll or Windows IOCP.
|
|
bool | is_process () const noexcept |
| True if a process.
|
|
bool | is_section () const noexcept |
| True if a memory section.
|
|
bool | is_allocation () const noexcept |
| True if a memory allocation.
|
|
caching | kernel_caching () const noexcept |
| Kernel cache strategy used by this handle.
|
|
bool | are_reads_from_cache () const noexcept |
| True if the handle uses the kernel page cache for reads.
|
|
bool | are_writes_durable () const noexcept |
| True if writes are safely on storage on completion.
|
|
bool | are_safety_barriers_issued () const noexcept |
| True if issuing safety fsyncs is on.
|
|
flag | flags () const noexcept |
| The flags this handle was opened with.
|
|
native_handle_type | native_handle () const noexcept |
| The native handle used by this handle.
|
|
A handle to this, or another, process.