[#BloombergLP-bslstl-BoyerMooreHorspoolSearcher-2constructor-0e] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher.adoc[BoyerMooreHorspoolSearcher]::BoyerMooreHorspoolSearcher :relfileprefix: ../../../ :mrdocs: Create a `BoyerMooreHorspoolSearcher` object that can search for the sequence of `value_type` values found in the specified range `[needleFirst, needleLast)]`. Generate meta‐data and save for use by `operator()`. The complexity of this process is O(M) where M is the length of the "needle". Optionally specify a `hash` functor mapping mis‐matched values to the size of the next step in the search ‐‐ as large as, `needleLast ‐ needleFirst`. Optionally specify an `equal` functor for use with `hash` and for use by `operator()`. See {Requirements for `HASH` and `EQUAL`}. Optionally specify `basicAllocator` to supply memory. If `basicAllocator` is 0 or not supplied, the currently installed default allocator is used. The behavior is undefined unless `needleFirst` can be advanced to `needleLast`. == Synopsis Declared in `<bslstl_boyermoorehorspoolsearcher.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- BoyerMooreHorspoolSearcher( RNDACC_ITR_NEEDLE needleFirst, RNDACC_ITR_NEEDLE needleLast, HASH hash = HASH(), EQUAL equal = EQUAL(), xref:BloombergLP/bslma/Allocator.adoc[BloombergLP::bslma::Allocator]* basicAllocator = 0); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#