simple (I think) eponymous template question ... what is proper idimatic way ?
james.p.leblanc
james.p.leblanc at gmail.com
Wed Aug 18 05:33:13 UTC 2021
On Tuesday, 17 August 2021 at 20:28:20 UTC, Alexandru Ermicioi
wrote:
> On Tuesday, 17 August 2021 at 19:53:52 UTC, james.p.leblanc
> wrote:
>>
>> Wow! That is absolutely beautiful ... I had never seen (or
>> even
>> imagined) a recursive template! This expands my mind in a good
>> way ... and is going into my toolbox immediately.
>>
>> Best Regards,
>> James
>
> Just don't over rely on it. It can cause compilation slowdowns,
> so avoid it if you can.
I've been happily trying to absorb all the helpful concepts
posted.
A final related question in the quest for simplicity and
robustness.
If I wanted to ensure that a function accepts only arguments of
byte, int, uint, long, etc. (i.e. integer-like types). Is the
accepted
way to do this like so?:
**auto foo( T : long )(T a, T b){ ... }**
I really wish I could find a good explanation of the ":" (colon)
used in templates. I am sure one exists ...but haven't come upon
it just yet.
(I thought "isIntegral" in traits module would be helpful...but
I failed in my experiments.)
Thanks for patience with this question!
Best Regards,
James
More information about the Digitalmars-d-learn
mailing list