17 #include <range/v3/range_fwd.hpp> 48 template <
typename file_type>
49 class out_file_iterator
51 static_assert(!std::is_const_v<file_type>,
52 "You cannot iterate over const files, because the iterator changes the file.");
59 using value_type = void;
62 using reference = void;
64 using const_reference = void;
66 using size_type = void;
70 using pointer =
void *;
78 constexpr out_file_iterator() =
default;
81 constexpr out_file_iterator(out_file_iterator
const &) =
default;
83 constexpr out_file_iterator & operator=(out_file_iterator
const &) =
default;
85 constexpr out_file_iterator (out_file_iterator &&) =
default;
87 constexpr out_file_iterator & operator=(out_file_iterator &&) =
default;
89 ~out_file_iterator() =
default;
92 constexpr out_file_iterator(file_type & _host) noexcept :
100 out_file_iterator & operator++()
107 out_file_iterator operator++(
int)
114 out_file_iterator & operator*() noexcept
123 template <
typename arg_t>
124 out_file_iterator & operator=(arg_t && arg)
126 assert(host !=
nullptr);
127 host->push_back(std::forward<arg_t>(arg));
151 out_file_iterator
const & it) noexcept
158 out_file_iterator
const & it) noexcept
::ranges::default_sentinel default_sentinel
Alias for ranges::default_sentinel. Empty sentinel object for use with iterators that know the bound ...
Definition: iterator:346
Adaptations of concepts from the Ranges TS.
Definition: aligned_sequence_concept.hpp:35
::ranges::default_sentinel_t default_sentinel_t
Alias for ranges::default_sentinel_t. Type of ranges::default_sentinel.
Definition: iterator:351