View source code
Display the source code in std/algorithm/searching.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
std.algorithm.searching.BoyerMooreFinder/boyerMooreFinder
- multiple declarations
Function boyerMooreFinder
Sets up Boyer-Moore matching for use with find
below.
By default, elements are compared for equality.
BoyerMooreFinder!(binaryFun!pred,Range) boyerMooreFinder(alias pred, Range)
(
Range needle
)
if (isRandomAccessRange!Range && hasSlicing!Range || isSomeString!Range);
BoyerMooreFinder
allocates GC memory.
Parameters
Name | Description |
---|---|
pred | Predicate used to compare elements. |
needle | A random-access range with length and slicing. |
Returns
An instance of BoyerMooreFinder
that can be used with find()
to
invoke the Boyer-Moore matching algorithm for finding of needle
in a
given haystack.
Example
auto bmFinder = boyerMooreFinder("TG");
string r = "TAGTGCCTGA";
// search for the first match in the haystack r
r = bmFinder .beFound(r);
writeln(r); // "TGCCTGA"
// continue search in haystack
r = bmFinder .beFound(r[2 .. $]);
writeln(r); // "TGA"
Struct BoyerMooreFinder
Sets up Boyer-Moore matching for use with find
below.
By default, elements are compared for equality.
struct BoyerMooreFinder(alias pred, Range)
;
BoyerMooreFinder
allocates GC memory.
Constructors
Name | Description |
---|---|
this
(needle)
|
Properties
Name | Type | Description |
---|---|---|
length [get]
|
size_t |
Methods
Name | Description |
---|---|
beFound
(haystack)
|
Aliases
Name | Description |
---|---|
opDollar
|
Parameters
Name | Description |
---|---|
pred | Predicate used to compare elements. |
needle | A random-access range with length and slicing. |
Returns
An instance of BoyerMooreFinder
that can be used with find()
to
invoke the Boyer-Moore matching algorithm for finding of needle
in a
given haystack.
Example
auto bmFinder = boyerMooreFinder("TG");
string r = "TAGTGCCTGA";
// search for the first match in the haystack r
r = bmFinder .beFound(r);
writeln(r); // "TGCCTGA"
// continue search in haystack
r = bmFinder .beFound(r[2 .. $]);
writeln(r); // "TGA"
Authors
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.