namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:find_end

find_end()

#include <algorithm>

For find_end (For first, For last, For2 first2, For2 last2) 
For find_end (For first, For last, For2 first2, For2 last2, Binary pred) 
For find_end (Exec pol, For first, For last, For2 first2, For2 last2) 
For find_end (Exec pol, For first, For last, For2 first2, For2 last2, Binary pred) 
 
Range ranges::find_end (Range1 r1, Range2 r2, Binary pred = {}, Proj1 proj1, Proj2 proj2) 
Range ranges::find_end (For first, For last, For2 first2, For2 last2, Binary pred = {}, Proj1 proj1, Proj2 proj2) 

Findet den letzten Teilbereich aus [first,last), der mit [first2,last2) übereinstimmt bzw. für dessen Elemente x das Prädikat pred(proj1(x), proj2(y)) mit den entsprechenden Elementen y aus [first2,last2) zutrifft.

Parameter

first Anfang eines Bereiches
last Ende eines Bereiches
first2 Anfang der Suchmenge
last2 Ende der Suchmenge
pred zweistelliges Prädikat (Vorgabe = equal_to)
proj1, proj2 einstelliger Funktor (Vorgabe = std::identity)
pol parallele Ausführungsart

Ergebnis

Rückgabewert: Iterator i auf erstes Element des bzw. der Teilbereich {i, i + (i == last1 ? 0 : last2 - first2)}, bei dem *i == *j bzw. pred(proj1(*i),proj2(*j)) mit den entsprechenden Iteratoren j der Suchmenge erfüllt ist. Wurde kein solcher Teilbereich gefunden, wird last bzw. ein leerer Bereich {last,last} geliefert.

Siehe auch

Beispiel

find_end.cpp
#include <algorithm>
#include <iostream>
 
int main()
{
  const char str[] = "Hallo Welt";
  const char vokal[] = "aeiuo";
 
  const char *pos = std::find_end(str, str+10, vokal, vokal+5);
 
  if (pos != end(str)) 
  {
    std::cout << pos << '\n';
  }
}
rg_find_end.cpp
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
  std::string heuhaufen = "Mississippi";
  std::string nadel = "is";
 
  auto r = std::ranges::find_end(heuhaufen, nadel);
  auto n = r.begin() - heuhaufen.begin();	
 
  std::cout 
    << heuhaufen << '\n'
    << std::string(n, ' ') << nadel << '\n';
}
kennen/lib/find_end.txt · Zuletzt geändert: 2020-06-14 14:38 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki