Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
November 16, 2019 How to Unqual an array? | ||||
---|---|---|---|---|
| ||||
I am trying to write templated code that will take a character array -- mutable, const, or immutable (string). static assert(is(Unqual!(const char) == char)); (Succeeds) static assert(is(Unqual!(const(char)[]) == char[])); Error: static assert: `is(const(char)[] == char[])` is false Is the template trying to strip the qualifier from the [] rather than the char? |
November 16, 2019 Re: How to Unqual an array? | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Blachly | On 11/16/19 9:48 AM, James Blachly wrote:
> I am trying to write templated code that will take a character array -- mutable, const, or immutable (string).
I am aware of isSomeString, but I am still curious about Unqual array from a learning perspective.
|
November 16, 2019 Re: How to Unqual an array? | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Blachly | On Saturday, 16 November 2019 at 15:20:26 UTC, James Blachly wrote: > On 11/16/19 9:48 AM, James Blachly wrote: >> I am trying to write templated code that will take a character array -- mutable, const, or immutable (string). > > I am aware of isSomeString, but I am still curious about Unqual array from a learning perspective. https://pastebin.com/f2FUAYQT is what I use, assuming I understand what you want. (run.dlang.io shortening seems to be down.) |
November 16, 2019 Re: How to Unqual an array? | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Blachly | On 11/16/19 10:20 AM, James Blachly wrote:
> On 11/16/19 9:48 AM, James Blachly wrote:
>> I am trying to write templated code that will take a character array -- mutable, const, or immutable (string).
>
> I am aware of isSomeString, but I am still curious about Unqual array from a learning perspective.
Unqual for the most port unqualifies the *head* of the type. This only makes a difference in terms of pointers and arrays (where the tail can be qualified separately from the head). For all other types, the whole thing has it's qualifiers removed.
This is not explicitly stated in the docs, and it may be an accidental result, but it's too late to change it now. It can be useful in some cases.
-Steve
|
November 17, 2019 Re: How to Unqual an array? | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Blachly | On 11/16/19 10:20 AM, James Blachly wrote:
> On 11/16/19 9:48 AM, James Blachly wrote:
>> I am trying to write templated code that will take a character array -- mutable, const, or immutable (string).
>
> I am aware of isSomeString, but I am still curious about Unqual array from a learning perspective.
>
>
Thank you both Steve and Anonymouse!
Regarding Steve's comment -- this should be made clear in documentation no? Regarding Anonymouse's code snippet, I've definitely saved that for future. thank you.
James
|
Copyright © 1999-2021 by the D Language Foundation