digitalmars.D.learn - std.container.rbtree has no search method?! e.g. `contains`, `canFind`
- mw (5/5) Jul 13 Hi,
- Dennis (4/6) Jul 13 It's the `in` operator:
- Steven Schveighoffer (9/14) Jul 13 The functions are called `equalRange` (which gives you a range of
- mw (5/23) Jul 14 I think for containers, it's better to have uniform naming
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?
Jul 13
On Saturday, 13 July 2024 at 17:41:42 UTC, mw wrote:I cannot find any search method?! e.g. `contains`, `canFind`. Is this a over look? Or there are such functions else where?It's the `in` operator: https://dlang.org/phobos/std_container_rbtree.html#.RedBlackTree.opBinaryRight But indeed, the documentation can be clearer about that.
Jul 13
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
Jul 13
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: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.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
Jul 14