FreeBSD Manual Pages
std::ranges...ew::iterator(3) C++ Standard Libarystd::ranges...ew::iterator(3) NAME std::ranges::transform_view::iterator - std::ranges::trans- form_view::iterator Synopsis template< bool Const > (since C++20) class /*iterator*/ The return type of transform_view::begin, and of transform_view::end when the underlying view is a common_range. The type /*iterator*/<true> is returned by the const-qualified over- loads. The type /*iterator*/<false> is returned by the non-const-qualified over- loads. The name of this class template (shown here as iterator) is unspeci- fied. Typical implementation holds two data members: an iterator into (possibly const-qualified) V, and a pointer to parent transform_view. Member types Member type Definition Parent (private) const ranges::transform_view<V, F> if Const is true, otherwise ranges::transform_view<V, F>. The name is for ex- position only. Base (private) const V if Const is true, otherwise V. The name is for exposition only. std::random_access_iterator_tag if Base models random_access_range, iterator_concept std::bidirectional_iterator_tag if Base models bidirectional_range, std::forward_iterator_tag if Base models for- ward_range, std::input_iterator_tag otherwise. Not defined if Base does not model forward_range. Otherwise, if std::invoke_result_t<F&, ranges::range_reference_t<Base>> is not an lvalue reference, std::input_iterator_tag. iterator_category Else, let C be std::iterator_traits<ranges::itera- tor_t<Base>>::iterator_category. If C is std::contiguous_iterator_tag, the type is std::random_access_iterator_tag; otherwise, the type is C. value_type std::remove_cvref_t<std::invoke_result_t<F&, ranges::range_reference_t<Base>>> difference_type ranges::range_difference_t<Base> Member functions constructor constructs an iterator (C++20) (public member function) base returns the underlying iterator (C++20) (public member function) operator* accesses the transformed element (C++20) (public member function) operator[] accesses an element by index (C++20) (public member function) operator++ operator++(int) operator-- advances or decrements the underlying iterator operator--(int) (public member function) operator+= operator-= (C++20) Non-member functions operator== operator< operator> compares the underlying iterators operator<= (function) operator>= operator<=> (C++20) operator+ performs iterator arithmetic operator- (function) (C++20) iter_move obtains an rvalue reference to the transformed element (C++20) (function) Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Cor- rect behavior P2259R1 C++20 member iterator_category is always defined only if Base models defined for- ward_range LWG 3555 C++20 the definition of iterator_concept made to consider ignores const http://cppreference.com 2022.07.31 std::ranges...ew::iterator(3)
NAME | Synopsis | Member types | Member functions | Non-member functions
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ranges::transform_view::iterator&sektion=3&manpath=FreeBSD+Ports+15.0>
