// file : libbutl/curl.ixx -*- C++ -*- // license : MIT; see accompanying LICENSE file #include // size_t #include // forward() #include // invalid_argument namespace butl { template inline curl:: curl (I&& in, O&& out, E&& err, method_type m, flags fs, const std::string& url, A&&... options) : curl ([] (const char* [], std::size_t) {}, std::forward (in), std::forward (out), std::forward (err), m, fs, url, std::forward (options)...) { } template inline curl:: curl (const C& cmdc, I&& in, O&& out, E&& err, method_type m, const std::string& url, A&&... options) : curl (cmdc, std::forward (in), std::forward (out), std::forward (err), m, flags::none, url, std::forward (options)...) { } template inline curl:: curl (I&& in, O&& out, E&& err, method_type m, const std::string& url, A&&... options) : curl (std::forward (in), std::forward (out), std::forward (err), m, flags::none, url, std::forward (options)...) { } inline curl::flags operator&= (curl::flags& x, curl::flags y) { return x = static_cast (static_cast (x) & static_cast (y)); } inline curl::flags operator|= (curl::flags& x, curl::flags y) { return x = static_cast (static_cast (x) | static_cast (y)); } inline curl::flags operator& (curl::flags x, curl::flags y) { return x &= y; } inline curl::flags operator| (curl::flags x, curl::flags y) { return x |= y; } }