AI 24/25 Project Software
Documentation for the AI 24/25 course programming project software
Loading...
Searching...
No Matches
iterators.h
1#ifndef PROBFD_ITERATORS_H
2#define PROBFD_ITERATORS_H
3
4#include <iterator>
5#include <utility>
6
9
10struct discarding_output_iterator {
11 using difference_type = std::ptrdiff_t;
12 using value_type = void;
13 using pointer = void;
14 using reference = void;
15 using iterator_category = std::output_iterator_tag;
16
17 /* no-op assignment */
18 template <typename T>
19 discarding_output_iterator& operator=(T const&)
20 {
21 return *this;
22 }
23
24 discarding_output_iterator& operator++() { return *this; }
25
26 discarding_output_iterator operator++(int) { return *this; }
27
28 discarding_output_iterator& operator*() { return *this; }
29};
30
31} // namespace probfd::iterators
32
33#endif // PROBFD_ITERATORS_H
Namespace dedicated to custom iterators.
Definition iterators.h:8