Template tuple parameters of classes
    Tsalm 
    tsalm at free.fr
       
    Thu Jul 31 12:52:37 PDT 2008
    
    
  
On Wed, 30 Jul 2008 21:33:05 -0400, ws wrote:
> TSalm Wrote:
>> I've got a class MyClass :
>>   class MyClass(T) {}
>> 
>> And I need them in Template Tuple Parameter. Something like this :
>>   void myFunction
>>           ( U:MyClass!(T),T , U2:MyClass!(T2),T2... ) ( U myClass , U2
>>           myClass2...)
>>   	  {  /* ...some code... */ }
>> 
>> 
>> call by :
>>   MyClass!(int) mine1;
>>   MyClass!(double) mine2;
>>   MyClass!(char) mine3;
>>   myFunction( mine1 , mine2 , mine3 );
>> 
>> but.of course, 'myFunction' is incorrect... How to declare it ?
>> 
> 
> Perhaps this post by Jarrett is of help:
> http://lists.puremagic.com/pipermail/digitalmars-d/2007-
October/026373.html
It is very interresting. Thanks.
I'm trying this :
/* -------------------- */
class MyClass(T)
{
 T getTypeMin() {return T.min;}
}
template Print(U ...)
{
  void Print()
  {
    Stdout(U[0].getTypeMin()).newline;
  }
}
void main()
{
  MyClass!(int) mine1;
  MyClass!(double) mine2;
  MyClass!(float) mine3;
  
  Print!(mine1,mine2,mine3);
}
/* -------------------- */
But the execution send me an Access Violation !?
    
    
More information about the Digitalmars-d-learn
mailing list