mirror of
https://github.com/arun11299/cpp-subprocess.git
synced 2025-08-04 12:26:19 -04:00
Merge 6d10ee9e7367460bfdc44805ac77ee01765e0969 into 3afe581c1f22f106d59cf54b9b65251e6c554671
This commit is contained in:
commit
830e538ec6
@ -169,7 +169,7 @@ using env_vector_t = std::vector<env_char_t>;
|
||||
namespace util
|
||||
{
|
||||
template <typename R>
|
||||
inline bool is_ready(std::shared_future<R> const &f)
|
||||
bool is_ready(std::shared_future<R> const &f)
|
||||
{
|
||||
return f.wait_for(std::chrono::seconds(0)) == std::future_status::ready;
|
||||
}
|
||||
@ -408,7 +408,7 @@ namespace util
|
||||
* to be split. Default constructed to ' '(space) and '\t'(tab)
|
||||
* [out] vector<string> : Vector of strings split at deleimiter.
|
||||
*/
|
||||
static inline std::vector<std::string>
|
||||
inline std::vector<std::string>
|
||||
split(const std::string& str, const std::string& delims=" \t")
|
||||
{
|
||||
std::vector<std::string> res;
|
||||
@ -438,7 +438,7 @@ namespace util
|
||||
* Default constructed to ' ' (space).
|
||||
* [out] string: Joined string.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
std::string join(const std::vector<std::string>& vec,
|
||||
const std::string& sep = " ")
|
||||
{
|
||||
@ -459,7 +459,7 @@ namespace util
|
||||
* [in] set : If 'true', set FD_CLOEXEC.
|
||||
* If 'false' unset FD_CLOEXEC.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
void set_clo_on_exec(int fd, bool set = true)
|
||||
{
|
||||
int flags = fcntl(fd, F_GETFD, 0);
|
||||
@ -479,7 +479,7 @@ namespace util
|
||||
* First element of pair is the read descriptor of pipe.
|
||||
* Second element is the write descriptor of pipe.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
std::pair<int, int> pipe_cloexec() noexcept(false)
|
||||
{
|
||||
int pipe_fds[2];
|
||||
@ -507,7 +507,7 @@ namespace util
|
||||
* `buf` to `fd`.
|
||||
* [out] int : Number of bytes written or -1 in case of failure.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
int write_n(int fd, const char* buf, size_t length)
|
||||
{
|
||||
size_t nwritten = 0;
|
||||
@ -534,7 +534,7 @@ namespace util
|
||||
* will retry to read from `fd`, but only till the EINTR counter
|
||||
* reaches 50 after which it will return with whatever data it read.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
int read_atmost_n(FILE* fp, char* buf, size_t read_upto)
|
||||
{
|
||||
#ifdef __USING_WINDOWS__
|
||||
@ -576,7 +576,7 @@ namespace util
|
||||
* NOTE: `class Buffer` is a exposed public class. See below.
|
||||
*/
|
||||
|
||||
static inline int read_all(FILE* fp, std::vector<char>& buf)
|
||||
inline int read_all(FILE* fp, std::vector<char>& buf)
|
||||
{
|
||||
auto buffer = buf.data();
|
||||
int total_bytes_read = 0;
|
||||
@ -624,7 +624,7 @@ namespace util
|
||||
* NOTE: This is a blocking call as in, it will loop
|
||||
* till the child is exited.
|
||||
*/
|
||||
static inline
|
||||
inline
|
||||
std::pair<int, int> wait_for_child_exit(int pid)
|
||||
{
|
||||
int status = 0;
|
||||
@ -1374,7 +1374,7 @@ inline void Popen::init_args() {
|
||||
}
|
||||
|
||||
template <typename F, typename... Args>
|
||||
inline void Popen::init_args(F&& farg, Args&&... args)
|
||||
void Popen::init_args(F&& farg, Args&&... args)
|
||||
{
|
||||
detail::ArgumentDeducer argd(this);
|
||||
argd.set_option(std::forward<F>(farg));
|
||||
@ -2009,13 +2009,13 @@ namespace detail
|
||||
return Popen(std::forward<F>(farg), std::forward<Args>(args)...).wait();
|
||||
}
|
||||
|
||||
static inline void pipeline_impl(std::vector<Popen>& cmds)
|
||||
inline void pipeline_impl(std::vector<Popen>& cmds)
|
||||
{
|
||||
/* EMPTY IMPL */
|
||||
}
|
||||
|
||||
template<typename... Args>
|
||||
static inline void pipeline_impl(std::vector<Popen>& cmds,
|
||||
void pipeline_impl(std::vector<Popen>& cmds,
|
||||
const std::string& cmd,
|
||||
Args&&... args)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user