Tuple as Property Parameter

Kirk McDonald kirklin.mcdonald at gmail.com
Tue Feb 6 17:38:09 PST 2007


BCS wrote:
> 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.
> 
> 

Template member functions work (and have for some time), they're just 
implicitly final.

-- 
Kirk McDonald
Pyd: Wrapping Python with D
http://pyd.dsource.org


More information about the Digitalmars-d-learn mailing list