Tuple as Property Parameter

BCS ao at pathlink.com
Tue Feb 6 17:13:23 PST 2007


Reply to Brian,

> I have a few [newcomer] questions about Tuples that I hope are easy to
> answer. What I am trying to create is a property that accepts any
> tuple:
> 
> template Tuple( E... ) {
> alias E Tuple;
> }
> class Foo {
> int bar( E... )( E e ) {
> ...
> }
> }
> Foo f = new Foo();
> f.bar( 1, 2 );              // Works properly
> f.bar( Tuple!( 1, 2 ) ); // Works properly
> f.bar = Tuple!( 1, 2 ); // Error: Error: (f).bar(E...) has no value
> Is this intended? How can I wrap up the Tuple into a single object so
> it will pass off as a property?
> 
> Changing 'bar' to 'opAssign' yields a different result for the third
> example. Instead of printing out an error I get an alert "abnormal
> program termination."
> 
> Also, is there, or will there ever be a bracket sequence for
> initializing Tuples? Tuple!( a, b, c, ... ) into something like ![ a,
> b, c, ... ]?
> 
> Thanks,
> Brian Byrne

For one thing, I'm not sure that any of those should work. Template members 
are invalid last time I checked.




More information about the Digitalmars-d-learn mailing list