std::experimental::search(3)
π std::experimental::search(3) π
okay so bestie, this is std::experimental::search(3) from the C++ Standard Libary manual, and it is lowkey iconic for finding patterns with searchers. periodt β¨
π NAME π
std::experimental::search β std::experimental::search
(the name section is literally giving "same name, same energy" and we respect it π )
π¦ Synopsis π¦
Defined in header <experimental/algorithm>.
template< class ForwardIterator, class Searcher >
ForwardIterator search( ForwardIterator first, (library
fundamentals TS)
ForwardIterator last,
const Searcher& searcher );
Searches the sequence [first, last) for the pattern specified in the constructor of searcher.
- until C++17: effectively executes
searcher(first, last). - since C++17: effectively executes
searcher(first, last).first.
Searcher need not be CopyConstructible. iconic behavior, no cap π
The standard library provides the following searchers:
default_searcherβ standard C++ library search algorithm implementation (class template)boyer_moore_searcherβ Boyer-Moore search algorithm implementation (class template)boyer_moore_horspool_searcherβ Boyer-Moore-Horspool search algorithm implementation (class template)
π§ Parameters π§
This section is incomplete π
π Return value π
Returns the result of searcher.operator(), that is, an iterator to the location at which the substring is found or a copy of last if it was not found.
π₯ Complexity π₯
Depends on the searcher.
πΈ Example πΈ
Run this code, bestie:
#include <experimental/algorithm>
#include <experimental/functional>
#include <iostream>
#include <string>
int main()
{
std::string in = "Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed "
"do eiusmod tempor incididunt ut labore et dolore
magna aliqua";
std::string needle = "pisci";
auto it = std::experimental::search(in.begin(), in.end(),
std::experimental::make_boyer_moore_searcher(
needle.begin(), needle.end()));
if (it != in.end())
std::cout << "The string " << needle << " found at offset "
<< it - in.begin() << '\n';
else
std::cout << "The string " << needle << " not found\n";
}
π Output π
The string pisci found at offset 43
π«Ά See also π«Ά
searchβ searches for a range of elements (function template)
π Categories π
Noindexed pagesTodo without reason
Source/version and date: cppreference.com, 2024.06.10. Bye bestie, go find your pattern and slay π
β¨π¦
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms