[#BloombergLP-bslstl-BoyerMooreHorspoolSearcher_GeneralImp-2constructor-08]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp]::BoyerMooreHorspoolSearcher&lowbar;GeneralImp
:relfileprefix: ../../../
:mrdocs:

Constructors

== Synopses

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

Create a `BoyerMooreHorspoolSearcher&lowbar;GeneralImp` object having same state as the specified `original` object&period; The allocator of `original` is propagated to the new object&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0f.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp](xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp] const& original);
----

[.small]#xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0f.adoc[_» more&period;&period;&period;_]#

Create a `BoyerMooreHorspoolSearcher&lowbar;GeneralImp` object having same state as the specified `original` object by moving (in constant time) the state of the original object to the new object&period; The allocator of `original` is propagated to the new object&period; The `original` object is left in an unspecified (valid) state&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0d.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp](xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef&lt;BoyerMooreHorspoolSearcher&lowbar;GeneralImp&gt;] original) noexcept;
----

[.small]#xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0d.adoc[_» more&period;&period;&period;_]#

Create a `BoyerMooreHorspoolSearcher&lowbar;GeneralImp` object having same state as the specified `original` object and that uses `basicAllocator` to supply memory&period; The state of `original` is moved (in constant time) to the new searcher if `basicAllocator &equals;&equals; original&period;allocator()`, and is copied using `basicAllocator` otherwise&period; The `original` object is left in an unspecified (valid) state&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0c.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp](
    xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef&lt;BoyerMooreHorspoolSearcher&lowbar;GeneralImp&gt;] original,
    xref:BloombergLP/bslma/Allocator.adoc[BloombergLP::bslma::Allocator]* basicAllocator);
----

[.small]#xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-0c.adoc[_» more&period;&period;&period;_]#

Create a `BoyerMooreHorspoolSearcher&lowbar;GeneralImp` object having the same state as the specified `original` object&period; Optionally specify a `basicAllocator` used to supply memory&period; If `basicAllocator` is 0, the currently installed default allocator is used&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-04.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp](
    xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp] const& original,
    xref:BloombergLP/bslma/Allocator.adoc[BloombergLP::bslma::Allocator]* basicAllocator);
----

[.small]#xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-04.adoc[_» more&period;&period;&period;_]#

Create a `BoyerMooreHorspoolSearcher&lowbar;GeneralImp` object for the sequence of `value&lowbar;type` values in the specified range `&lsqb;needleFirst, needlelast)&rsqb;`&period; The specified `hash` and `equal` functors are used to store&sol;access metadata associated with the needle&period; See &lcub;Requirements for `HASH` and `EQUAL`&rcub;&period; Optionally specify a `basicAllocator` used to supply memory&period; If `basicAllocator` is 0, the currently installed default allocator is used&period; The behavior is undefined unless `needleFirst` can be advanced to `needleLast`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-05.adoc[BoyerMooreHorspoolSearcher&lowbar;GeneralImp](
    RNDACC&lowbar;ITR&lowbar;NEEDLE needleFirst,
    RNDACC&lowbar;ITR&lowbar;NEEDLE needleLast,
    HASH hash,
    EQUAL equal,
    xref:BloombergLP/bslma/Allocator.adoc[BloombergLP::bslma::Allocator]* basicAllocator);
----

[.small]#xref:BloombergLP/bslstl/BoyerMooreHorspoolSearcher_GeneralImp/2constructor-05.adoc[_» more&period;&period;&period;_]#


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