1 #ifndef __curl_cpp_curl_HPP__
2 # define __curl_cpp_curl_HPP__
9 # include "return-exception/ret-exception.hpp"
18 using std::runtime_error::runtime_error;
46 template <
class Shared_mutex_t>
72 static constexpr Version from(std::uint8_t major, std::uint8_t minor, std::uint8_t patch)
noexcept;
74 constexpr std::uint8_t get_major()
const noexcept;
75 constexpr std::uint8_t get_minor()
const noexcept;
76 constexpr std::uint8_t get_patch()
const noexcept;
109 std::size_t
to_string(
char buffer[12])
const noexcept;
164 curl_t(FILE *stderr_stream_arg)
noexcept;
166 using malloc_callback_t =
void* (*)(std::size_t size);
167 using free_callback_t =
void (*)(
void *ptr);
168 using realloc_callback_t =
void* (*)(
void *old_ptr, std::size_t size);
169 using strdup_callback_t =
char* (*)(
const char *str);
170 using calloc_callback_t =
void* (*)(std::size_t nmemb, std::size_t size);
197 curl_t(FILE *stderr_stream_arg,
198 malloc_callback_t malloc_callback,
199 free_callback_t free_callback,
200 realloc_callback_t realloc_callback,
201 strdup_callback_t strdup_callback,
202 calloc_callback_t calloc_callback)
noexcept;
204 curl_t(
const curl_t&) =
delete;
205 curl_t(
curl_t&&) =
delete;
235 bool has_compression_support()
const noexcept;
236 bool has_largefile_support()
const noexcept;
241 bool has_ssl_support()
const noexcept;
242 bool has_ipv6_support()
const noexcept;
244 bool has_erase_all_cookies_in_mem_support()
const noexcept;
245 bool has_erase_all_session_cookies_in_mem_support()
const noexcept;
246 bool has_flush_cookies_to_jar()
const noexcept;
247 bool has_reload_cookies_from_file()
const noexcept;
249 bool has_disable_signal_handling_support()
const noexcept;
251 bool has_private_ptr_support()
const noexcept;
253 bool has_readfunc_abort_support()
const noexcept;
254 bool has_pause_support()
const noexcept;
256 bool has_header_option_support()
const noexcept;
257 bool has_set_ip_addr_only_support()
const noexcept;
259 bool has_redirect_url_support()
const noexcept;
261 bool has_getinfo_cookie_list_support()
const noexcept;
263 bool has_buffer_size_tuning_support()
const noexcept;
264 bool has_buffer_size_growing_support()
const noexcept;
266 bool has_get_active_socket_support()
const noexcept;
272 void operator () (
void *p)
const noexcept;
300 auto create_easy(std::size_t buffer_size = 0)
noexcept -> Easy_t;
322 auto dup_easy(
const Easy_t &easy, std::size_t buffer_size = 0)
noexcept -> Easy_t;
333 void operator () (
char *p)
const noexcept;
355 auto dup_Url(
const Url_t &url)
noexcept -> Url_t;
357 bool has_multi_poll_support()
const noexcept;
358 bool has_multi_socket_support()
const noexcept;
364 bool has_max_concurrent_stream_support()
const noexcept;
371 bool has_ssl_session_sharing_support()
const noexcept;
372 bool has_connection_cache_sharing_support()
const noexcept;
373 bool has_psl_sharing_support()
const noexcept;
379 void operator () (
char *p)
const noexcept;
393 using Easy_t =
curl_t::Easy_t;
394 using Url_t =
curl_t::Url_t;
395 using Share_t =
curl_t::Share_t;