table of contents
        
      
      
    | std::basic_string_view::find_last_of(3) | C++ Standard Libary | std::basic_string_view::find_last_of(3) | 
NAME¶
std::basic_string_view::find_last_of - std::basic_string_view::find_last_of
Synopsis¶
 constexpr size_type find_last_of( basic_string_view v, size_type
    (1) (since C++17)
  
   pos = npos ) const noexcept;
  
   constexpr size_type find_last_of( CharT c, size_type pos = npos ) (2)
    (since C++17)
  
   const noexcept;
  
   constexpr size_type find_last_of( const CharT* s, size_type pos, (3)
    (since C++17)
  
   size_type count ) const;
  
   constexpr size_type find_last_of( const CharT* s, size_type pos = (4)
    (since C++17)
  
   npos ) const;
  
   Finds the last character equal to one of characters in the given character
    sequence.
  
   Exact search algorithm is not specified. The search considers only the
    interval [0;
  
   pos]. If the character is not present in the interval, npos will be
  returned.
  
   1) Finds the last occurence of any of the characters of v in this view,
    ending at
  
   position pos.
  
   2) Equivalent to find_last_of(basic_string_view(std::addressof(c), 1), pos).
  
   3) Equivalent to find_last_of(basic_string_view(s, count), pos).
  
   4) Equivalent to find_last_of(basic_string_view(s), pos).
Parameters¶
 v - view to search for
  
   pos - position at which the search is to finish
  
   count - length of the string of characters to search for
  
   s - pointer to a string of characters to search for
  
   ch - character to search for
Return value¶
 Position of the last occurrence of any character of the
    substring, or npos if no
  
   such character is found.
Complexity¶
O(size() * v.size()) at worst.
Example¶
// Run this code
  
   #include <string_view>
  
   #include <iostream>
  
   int main()
  
   {
  
   using namespace std::literals;
  
   constexpr auto N = std::string_view::npos;
  
   static_assert(
  
   5 == "delete"sv.find_last_of("cdef"sv) &&
  
   //
    └────────────────────┘
  
   N == "double"sv.find_last_of("fghi"sv) &&
  
   //
  
   0 == "else"sv.find_last_of("bcde"sv, 2 /* pos [0..2]:
    "els" */) &&
  
   //
    └────────────────────────┘
  
   N == "explicit"sv.find_last_of("abcd"sv, 4 /* pos [0..4]:
    "expli" */) &&
  
   //
  
   3 == "extern"sv.find_last_of('e') &&
  
   //
    └────────────────────┘
  
   N == "false"sv.find_last_of('x') &&
  
   //
  
   0 == "inline"sv.find_last_of('i', 2 /* pos [0..2]: "inl"
    */) &&
  
   //
    └───────────────────────┘
  
   N == "mutable"sv.find_last_of('a', 2 /* pos [0..2]: "mut"
    */) &&
  
   //
  
   3 == "namespace"sv.find_last_of("cdef", 3 /* pos [0..3]:
    "name" */, 3 /* "cde" */) &&
  
   //
    └─────────────────────────┘
  
   N == "namespace"sv.find_last_of("cdef", 3 /* pos [0..3]:
    "name" */, 2 /* "cd" */)
  
   );
  
   std::cout << "All tests passed.\n";
  
   }
Output:¶
All tests passed.
See also¶
 find find characters in the view
  
   (C++17) (public member function)
  
   rfind find the last occurrence of a substring
  
   (C++17) (public member function)
  
   find_first_of find first occurrence of characters
  
   (C++17) (public member function)
  
   find_first_not_of find first absence of characters
  
   (C++17) (public member function)
  
   find_last_not_of find last absence of characters
  
   (C++17) (public member function)
  
   find last occurrence of characters
  
   find_last_of (public member function of
  
   std::basic_string<CharT,Traits,Allocator>)
| 2022.07.31 | http://cppreference.com |