[#BloombergLP-bslstl-BoyerMooreHorspoolSearcher_CharImp]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::BoyerMooreHorspoolSearcher&lowbar;CharImp
:relfileprefix: ../../
:mrdocs:

This class template implements the same interfaces as the `BoyerMooreHorspoolSearcher&lowbar;GeneralImp`&semi; however, the implementation is specialized for a `value&lowbar;type` of `char`&period; Notably, needle metadata is stored&sol;accessed from a fixed size array, not a dynamically&hyphen;sized container&period;

== Synopsis

Declared in `&lt;bslstl&lowbar;boyermoorehorspoolsearcher&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class RNDACC&lowbar;ITR&lowbar;NEEDLE,
    class HASH,
    class EQUAL&gt;
class BoyerMooreHorspoolSearcher&lowbar;CharImp;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/difference_type.adoc[`difference&lowbar;type`] 
| a signed type that can describe the distance between `RNDACC&lowbar;ITR&lowbar;NEEDLE` iterators
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/value_type.adoc[`value&lowbar;type`] 
| the type of the values that can be obtained by dereferencing a `RNDACC&lowbar;ITR&lowbar;NEEDLE`
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/2constructor-0e.adoc[`BoyerMooreHorspoolSearcher&lowbar;CharImp`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/2destructor.adoc[`&#126;BoyerMooreHorspoolSearcher&lowbar;CharImp`] [.small]#[destructor]#
| Destroy this object&semi;
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/operator_assign-0f.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/allocator.adoc[`allocator`] 
| Return the allocator supplied on construction&period;
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/badCharacterSkip.adoc[`badCharacterSkip`] 
| Return the number of positions to advance the search in the haystack when the specified `value` is found in the rightmost position of the current (unsuccessful) match attempt&period;
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/equal.adoc[`equal`] 
| Return the equality comparison functor supplied on construction&period;
| xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_CharImp/hash.adoc[`hash`] 
| Return the hashing functor supplied on construction&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
