home | help
std::experi...::projected(3)   C++ Standard Libary  std::experi...::projected(3)

NAME
     std::experimental::ranges::projected - std::experimental::ranges::projected

Synopsis
     Defined  in header <experimental/ranges/iterator> template< Readable I, In-
     directRegularUnaryInvocable<I> Proj >

     struct projected {
	 using value_type =

     std::remove_cv_t<std::remove_reference_t<ranges::indirect_re-
     sult_of_t<Proj&(I)>>>;
	 ranges::indirect_result_of_t<Proj&(I)>        operator*()	  const;
     (ranges								      };
     TS)

     template< WeaklyIncrementable I, class Proj >  struct  difference_type<pro-
     jected<I, Proj>> {
	 using type = ranges::difference_type_t<I>;

     };

	The  class  template  projected bundles a Readable type I and a function
     Proj into a
	new Readable type whose reference type is the result of applying Proj to
     the
	reference type of I. It exists solely to ease constraint  specification,
     and so its
	operator*() may not be actually defined.

http://cppreference.com 	   2024.06.10	    std::experi...::projected(3)

home | help