class template as a type
    Karl 
    asdf at asdf.com
       
    Tue Sep 18 23:32:47 PDT 2007
    
    
  
BCS Wrote:
> Reply to Karl,
> 
> > Hi,
> > 
> > I've been playing around with templates, i'm a newbie in this matter,
> > i created a class template and i want to use it as a type in functions
> > and create arrays of it. Any help please.
> > 
> > Code sample:
> > 
> > module hello;
> > 
> > template Test(alias T)
> > {
> > class Test
> > {
> > this(){} int x; ...
> > }
> > }
> > void Foo(Test t){}
> > 
> > static Test[] myarray;
> > 
> 
> void Foo(Test!(somthingToAlias) { }
> static Test!(somthingToAlias)[] myarray;
> 
> look for "Explicit Template Instantiation" in
> 
> http://www.digitalmars.com/d/template.html
> 
> 
Thanks for your reply.
"somthingToAlias" could be anything right? Lets suppose foo.bar1 or foo.bar2. Then "static Test!(foo.bar1)[] myarray;" would create an array only for elements instantiated from foo.bar1 and i couldn't append an element instantiated from foo.bar2, am i wrong?
1) Then how could i create an array for generic instantiated elements?
2) "void Foo(Test!(somthingToAlias) { }", i think something is missing:
- ")".
- A variable name, (correct me if wrong): void Foo(Test!(somthingToAlias)  sta){ }
Thanks in advance.
    
    
More information about the Digitalmars-d-learn
mailing list