Writing UFCS function for any instance of a templated struct
Rene Zwanenburg
renezwanenburg at gmail.com
Thu Sep 13 03:24:42 PDT 2012
That works, nice trick!
Thanks
On Thursday, 13 September 2012 at 10:09:08 UTC, David wrote:
> Am 13.09.2012 11:46, schrieb Rene Zwanenburg:
>> Hi,
>>
>> I'd like to write a function for a vector template which
>> basically looks
>> like
>>
>> struct Vec(T, size_t size) {
>> T[size] e;
>> }
>>
>> This template has a few properties with very common names like
>> x, y, z,
>> etc. To avoid mistakes I'd like to write a template constraint
>> for UFCS
>> functions so it accepts any instance of the Vec template, but
>> nothing
>> else. Something in the gist of
>>
>> auto innerProduct(T)(const T v1, const T v2) if(is(T == Vec)) {
>>
>> }
>>
>> How can I do this?
>
> I am doing it in gl3n like this:
> https://github.com/Dav1dde/gl3n/blob/master/gl3n/util.d#L15
>
> (Sorry when I just sent you a private e-mail, I clicked the
> wrong answer button in thunderbird)
More information about the Digitalmars-d-learn
mailing list