GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::experimental::boyer_moore_searcher,std::experimental::make_boyer_moore_searcher(3) C++ Standard Libary std::experimental::boyer_moore_searcher,std::experimental::make_boyer_moore_searcher(3)

std::experimental::boyer_moore_searcher,std::experimental::make_boyer_moore_searcher - std::experimental::boyer_moore_searcher,std::experimental::make_boyer_moore_searcher


Defined in header <experimental/functional>
template< class RandomIt1,


class Hash = std::hash<typename (library
std::iterator_traits<RandomIt1>::value_type>, fundamentals TS)
class BinaryPredicate = std::equal_to<> >


class boyer_moore_searcher;


A searcher suitable for use with std::experimental::search that implements the
Boyer-Moore string searching algorithm.


boyer_moore_searcher is CopyConstructible and CopyAssignable.


RandomIt1 must meet the requirements of LegacyRandomAccessIterator.

std::experimental::boyer_moore_searcher::boyer_moore_searcher


boyer_moore_searcher( RandomIt1 pat_first,


RandomIt1 pat_last,
Hash hf = Hash(),


BinaryPredicate pred = BinaryPredicate());


Constructs a boyer_moore_searcher by storing copies of pat_first, pat_last, hf, and
pred, setting up any necessary internal data structures.


The value type of RandomIt1 must be DefaultConstructible, CopyConstructible and
CopyAssignable.


For any two values A and B of the type std::iterator_traits<RandomIt1>::value_type,
if pred(A, B) == true, then hf(A) == hf(B) shall be true.


pat_first, pat_last - a pair of iterators designating the string to be searched for
hf - a callable object used to hash the elements of the string
pred - a callable object used to determine equality


Any exceptions thrown by


* the copy constructor of RandomIt1;
* the default constructor, copy constructor, and copy assignment operator of the
value type of RandomIt1; or
* the copy constructor and function call operator of BinaryPredicate or Hash.


May also throw std::bad_alloc if additional memory required for internal data
structures cannot be allocated.

std::experimental::boyer_moore_searcher::operator()


template< class RandomIt2 > (until C++17)
RandomIt2 operator()( RandomIt2 first, RandomIt2 last ) const;
template< class RandomIt2 >
std::pair<RandomIt2,RandomIt2> operator()( RandomIt2 first, RandomIt2 (since C++17)
last ) const;


The member function called by std::experimental::search to perform a search with
this searcher. RandomIt2 must meet the requirements of LegacyRandomAccessIterator.


RandomIt1 and RandomIt2 must have the same value type.


first, last - a pair of iterators designating the string to be examined

Return value


If the pattern ([pat_first, pat_last)) is empty, returns first.


Otherwise, an iterator to the first position in [first, last) where a (until C++17)
subsequence that compares equal to [pat_first, pat_last) as defined by
pred is located, or a copy of last otherwise.
If the pattern ([pat_first, pat_last)) is empty, returns
make_pair(first, first).


Otherwise, returns a pair of iterators to the first and one past last (since C++17)
positions in [first, last) where a subsequence that compares equal to
[pat_first, pat_last) as defined by pred is located, or
make_pair(last, last) otherwise.


Helper Functions


template< class RandomIt,


class Hash = std::hash<typename
std::iterator_traits<RandomIt>::value_type>,
class BinaryPredicate = std::equal_to<> >
boyer_moore_searcher<RandomIt, Hash, BinaryPredicate> (library fundamentals
make_boyer_moore_searcher( TS)
RandomIt pat_first,
RandomIt pat_last,
Hash hf = Hash(),


BinaryPredicate pred = BinaryPredicate());


Helper function that constructs a std::experimental::boyer_moore_searcher using
template argument deduction. Equivalent to return boyer_moore_searcher<RandomIt,
Hash, BinaryPredicate>(pat_first, pat_last, hf, pred);


pat_first, pat_last - a pair of iterators designating the string to be searched for
hf - a callable object used to hash the elements of the string
pred - a callable object used to determine equality

Return value


A boyer_moore_searcher constructed with the arguments pat_first, pat_last, hf, and
pred.

// Run this code


#include <iostream>
#include <string>
#include <experimental/algorithm>
#include <experimental/functional>


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";
}


The string pisci found at offset 43


search searches for a range of elements
(function template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.