std::ranges::transform_view<V,F>::begin - cppreference.com (original) (raw)

C++

Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros (C++20)
Language support library
Concepts library (C++20)
Diagnostics library
Memory management library
Metaprogramming library (C++11)
General utilities library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Strings library
Text processing library
Numerics library
Date and time library
Input/output library
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Technical specifications
Symbols index
External libraries

[edit]

Ranges library

Range access begin cbegin end cend rbegin crbegin rend crend size ssize data cdata reserve_hint(C++26) empty Range conversions std::from_range_t std::from_range(C++23)(C++23) to(C++23) Dangling iterator handling dangling borrowed_iterator_t borrowed_subrange_t
Range primitives
range_size_trange_difference_trange_value_t elements_of(C++23) iterator_tconst_iterator_tsentinel_tconst_sentinel_t(C++23)(C++23) range_reference_trange_const_reference_trange_rvalue_reference_trange_common_reference_t(C++23)
Range concepts
range borrowed_range common_range sized_range viewable_range view input_range output_range forward_range bidirectional_range random_access_range contiguous_range approximately_sized_range(C++26) constant_range(C++23)

| Views | | | | ----------------------------------------------------------------------- | -------------------------------------------------- | | | view_interface | subrange | |

Range factories
empty_viewviews::empty single_viewviews::single basic_istream_viewviews::istream iota_viewviews::iota repeat_viewviews::repeat(C++23)(C++23)
Range adaptors
views::all_tviews::all as_rvalue_viewviews::as_rvalue(C++23)(C++23) filter_viewviews::filter transform_viewviews::transform take_viewviews::take take_while_viewviews::take_while common_viewviews::common views::counted to_input_viewviews::to_input(C++26)(C++26) ref_view drop_viewviews::drop drop_while_viewviews::drop_while lazy_split_viewviews::lazy_split split_viewviews::split join_viewviews::join join_with_viewviews::join_with(C++23)(C++23) concat_viewviews::concat(C++26)(C++26) cache_latest_viewviews::cache_latest(C++26)(C++26) owning_view reverse_viewviews::reverse as_const_viewviews::as_const(C++23)(C++23) elements_viewviews::elements keys_viewviews::keys values_viewviews::values enumerate_viewviews::enumerate(C++23)(C++23) zip_viewviews::zip(C++23)(C++23) zip_transform_viewviews::zip_transform(C++23)(C++23) adjacent_viewviews::adjacent(C++23)(C++23) views::pairwise(C++23) adjacent_transform_viewviews::adjacent_transform(C++23)(C++23) views::pairwise_transform(C++23) chunk_viewviews::chunk(C++23)(C++23) slide_viewviews::slide(C++23)(C++23) chunk_by_viewviews::chunk_by(C++23)(C++23) stride_viewviews::stride(C++23)(C++23) cartesian_product_viewviews::cartesian_product(C++23)(C++23)
Range generators std::generator(C++23) Range adaptor closure objects range_adaptor_closure(C++23) Range adaptor objects

| Helper items | | | | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | copyable-box movable-box(until C++23) (C++23) | simple-view non-propagating-cache | |

[edit]

std::ranges::transform_view

Member functions
transform_view::transform_view
transform_view::base
transform_view::begin
transform_view::end
transform_view::size
transform_view::reserve_hint(C++26)
Deduction guides
Iterator
transform_view::iterator::iterator
transform_view::iterator::base
transform_view::iterator::operator*
transform_view::iterator::operator[]
transform_view::iterator::operator++ transform_view::iterator::operator++(int) transform_view::iterator::operator-- transform_view::iterator::operator--(int) transform_view::iterator::operator+= transform_view::iterator::operator-=
operator==(transform_view::iterator) operator<(transform_view::_iterator_) operator>(transform_view::iterator) operator<=(transform_view::_iterator_) operator>=(transform_view::iterator) operator<=>(transform_view::iterator)
operator+(transform_view::iterator) operator-(transform_view::iterator)
iter_move(transform_view::iterator)
Sentinel
transform_view::sentinel::sentinel
transform_view::sentinel::base
operator==(transform_view::iterator,transform_view::sentinel)
operator-(transform_view::iterator,transform_view::sentinel)

[edit]

constexpr /*iterator*/<false> begin(); (1) (since C++20)
constexpr /*iterator*/<true> begin() const requires ranges::range<const V> && std::regular_invocable<const F&, ranges::range_reference_t<const V>>; (2) (since C++20)

Returns an iterator to the first element of the transform_view.

  1. Equivalent to return iterator<false>{*this, ranges::begin(_[base](../transform%5Fview.html#base "cpp/ranges/transform view")_)};.

  2. Equivalent to return iterator<true>{*this, ranges::begin(_[base](../transform%5Fview.html#base "cpp/ranges/transform view")_)};.

[edit] Return value

Iterator to the first element.

[edit] Example

This section is incompleteReason: no example

[edit] See also

end returns an iterator or a sentinel to the end (public member function) [edit]
ranges::begin(C++20) returns an iterator to the beginning of a range(customization point object)[edit]