std.container.rbtree has no search method?! e.g. `contains`, `canFind`

mw mingwu at gmail.com
Sun Jul 14 17:47:53 UTC 2024


On Sunday, 14 July 2024 at 02:01:44 UTC, Steven Schveighoffer 
wrote:
> On Saturday, 13 July 2024 at 17:41:42 UTC, mw wrote:
>> Hi,
>>
>> on doc:
>>
>> https://dlang.org/phobos/std_container_rbtree.html#.RedBlackTree
>>
>> I cannot find any search method?! e.g. `contains`, `canFind`.
>>
>> Is this a over look? Or there are such functions else where?
>
> The functions are called `equalRange` (which gives you a range 
> of all the elements that compare equal to the parameter), 
> `lowerBound` (all elements less than the parameter), and 
> `upperBound` (all elements greater than the parameter).
>
> This was not my choice, my original dcollections implementation 
> used a `find` function. It was a condition for having the type 
> added to phobos.
>
> -Steve

I think for containers, it's better to have uniform naming 
convention, either `contains`, `canFind` or `in`, so writing 
generic code (e.g. via D template) is easier.



More information about the Digitalmars-d-learn mailing list