Thread overview | |||||
---|---|---|---|---|---|
|
October 11, 2016 Trait hasIndexing | ||||
---|---|---|---|---|
| ||||
I can't find any traits `hasIndexing!R` corresponding to `std.range.primitives.hasSlicing!R` that is `true` iff `R` has `opIndex[size_t]` defined. Is there one? If not what should I use instead? |
October 11, 2016 Re: Trait hasIndexing | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Tuesday, 11 October 2016 at 10:08:02 UTC, Nordlöw wrote: > I can't find any traits `hasIndexing!R` corresponding to `std.range.primitives.hasSlicing!R` My definition of `hasIndexing` so far: https://github.com/nordlow/phobos-next/blob/master/src/typecons_ex.d#L83 |
October 11, 2016 Re: Trait hasIndexing | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nordlöw | On Tuesday, October 11, 2016 10:08:02 Nordlöw via Digitalmars-d-learn wrote:
> I can't find any traits `hasIndexing!R` corresponding to `std.range.primitives.hasSlicing!R`
>
> that is `true` iff `R` has `opIndex[size_t]` defined. Is there one?
>
> If not what should I use instead?
The traits in std.range are specifically for ranges, and isRandomAccessRange already covers indexing, which is why there isn't a separate trait for indexing in there. There certainly _could_ be one in std.traits, but there isn't at present.
- Jonathan M Davis
|
Copyright © 1999-2021 by the D Language Foundation