1 #ifndef __curl_cpp_utils_curl_slist_HPP__
2 # define __curl_cpp_utils_curl_slist_HPP__
8 # include "../return-exception/ret-exception.hpp"
10 namespace curl::utils {
26 using value_type =
const char*;
28 using size_type = std::size_t;
29 using difference_type = std::ptrdiff_t;
31 using reference = value_type&;
32 using const_reference =
const value_type&;
34 using pointer = value_type*;
35 using const_pointer =
const value_type*;
38 const void *list_ptr =
nullptr;
40 using value_type =
slist::value_type;
41 using pointer = value_type*;
42 using reference = value_type&;
43 using difference_type = std::ptrdiff_t;
44 using iterator_category = std::forward_iterator_tag;
49 auto operator * ()
const noexcept -> value_type;
57 slist(
void *l)
noexcept;
59 slist(
const slist&) =
delete;
60 slist(
slist &&other)
noexcept;
65 void swap(
slist &other)
noexcept;
72 void clear()
noexcept;
76 bool is_empty()
const noexcept;
93 auto push_back(
const char *str)
noexcept -> Ret_except<
void, std::bad_alloc>;