Templates args
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Jul 14 12:51:16 PDT 2016
On 7/14/16 3:28 PM, Andrey wrote:
> On Thursday, 14 July 2016 at 19:27:14 UTC, Andrey wrote:
>> struct Neurons_layer(T = float, size_t neurons_num = 0, F = Sigmoid!T)
>> if(isFloatingPoint!T && is(typeof(F.Function)))
>> {
>> private:
>> static if(neurons_num > 0)
>> T[neurons_num] _neurons_arr;
>> else
>> T[] _neurons_arr;
>>
>> private:
>> alias Function = F.Function;
>> }
>>
>> unittest
>> {
>> Neurons_layer!(float,5,Sigmoid!float) nf;
>> }
>>
>>
>> The question is - How to make in pretty way this line:
>> Neurons_layer!(float,5,Sigmoid!float) nf;
>
> to something like - Neurons_layer!(float,5,Sigmoid) nf;
You can't pass an uninstantiated template type as a type, but you can
pass as an alias:
struct Neurons_layer(T = float, size_t neurons_num = 0, alias FTemp =
Sigmoid)
{
alias F = FTemp!T;
...
-Steve
More information about the Digitalmars-d-learn
mailing list