Lines Matching defs:cpp17_output_iterator
29 class cpp17_output_iterator
34 template <class U> friend class cpp17_output_iterator;
42 TEST_CONSTEXPR explicit cpp17_output_iterator(It it) : it_(std::move(it)) {}
45 TEST_CONSTEXPR cpp17_output_iterator(const cpp17_output_iterator<U>& u) : it_(u.it_), tracker_(u.tracker_) {}
48 TEST_CONSTEXPR_CXX14 cpp17_output_iterator(cpp17_output_iterator<U>&& u)
55 TEST_CONSTEXPR_CXX14 cpp17_output_iterator& operator++() {++it_; return *this;}
56 TEST_CONSTEXPR_CXX14 cpp17_output_iterator operator++(int) {return cpp17_output_iterator(it_++);}
58 friend TEST_CONSTEXPR It base(const cpp17_output_iterator& i) { return i.it_; }
65 cpp17_output_iterator(It) -> cpp17_output_iterator<It>;
69 static_assert(std::output_iterator<cpp17_output_iterator<int*>, int>);