View source code
							
							
						
								Display the source code in std/range/package.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.
							
						Enum std.range.SearchPolicy
Policy used with the searching primitives lowerBound,    upperBound, and equalRange of SortedRange below.
						
				enum SearchPolicy
				 : int { ... }
						
					
				Enum members
| Name | Description | 
|---|---|
| binarySearch | Searches using a classic interval halving policy. The search
       starts in the middle of the range, and each search step cuts
       the range in half. This policy finds a value in Ο( log(n))
       time but is less cache friendly thangallopfor large
       ranges. ThebinarySearchpolicy is used as the last step
       oftrot,gallop,trotBackwards, and       gallopBackwardsstrategies. | 
| gallop | Performs a        galloping search algorithm, i.e. searches
       with a step that doubles every time, (1, 2, 4, 8, ...)  leading
       to an exponential search schedule (indexes tried are 0, 1, 3,
       7, 15, 31, 63,...) Once the search overshoots its target, the
       remaining interval is searched using binary search. A value is
       found in Ο( log(n)) time. | 
| gallopBackwards | Similar to gallopbut starts backwards. Use it when
       confident that the value is around the end of the range. | 
| linear | Searches in a linear fashion. | 
| trot | Searches with a step that is grows linearly (1, 2, 3,...)
       leading to a quadratic search schedule (indexes tried are 0, 1,
       3, 6, 10, 15, 21, 28,...) Once the search overshoots its target,
       the remaining interval is searched using binary search. The
       search is completed in Ο( sqrt(n)) time. Use it when you
       are reasonably confident that the value is around the beginning
       of the range. | 
| trotBackwards | Similar to trotbut starts backwards. Use it when
       confident that the value is around the end of the range. | 
Example
import stdAuthors
Andrei Alexandrescu, David Simcha, Jonathan M Davis, and Jack Stouffer. Credit for some of the ideas in building this module goes to Leonardo Maffi.
License
					Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.