Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ranges::borrowed_iterator_t,std::ranges::borrowed_subrange_t

      From cppreference.com
      <cpp‎ |ranges
       
       
      Ranges library
      Range adaptors
       
      Defined in header<ranges>
      template<ranges::range R>
      using borrowed_iterator_t=/* see below */;
      (1)(since C++20)
      template<ranges::range R>
      using borrowed_subrange_t=/* see below */;
      (2)(since C++20)
      1)std::ranges::iterator_t<R> ifR modelsborrowed_range,std::ranges::dangling otherwise.
      2)std::ranges::subrange<std::ranges::iterator_t<R>> ifR modelsborrowed_range,std::ranges::dangling otherwise.

      These two alias templates are used by someconstrained algorithms to avoid returning potentially dangling iterators or views.

      [edit]Possible implementation

      borrowed_iterator_t
      template< std::ranges::range R>using borrowed_iterator_t=std::conditional_t<std::ranges::borrowed_range<R>,    std::ranges::iterator_t<R>, std::ranges::dangling>;
      borrowed_subrange_t
      template< std::ranges::range R>using borrowed_subrange_t=std::conditional_t<std::ranges::borrowed_range<R>,    std::ranges::subrange<std::ranges::iterator_t<R>>, std::ranges::dangling>;

      [edit]See also

      a placeholder type indicating that an iterator or asubrange should not be returned since it would be dangling
      (class)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/borrowed_iterator_t&oldid=172811"

      [8]ページ先頭

      ©2009-2025 Movatter.jp