Thread overview | |||||
---|---|---|---|---|---|
|
July 05, 2008 Return type depends on his argument's template | ||||
---|---|---|---|---|
| ||||
Hello, Is there a way to do this : /* ------------------------------------- */ class A(T) { // some methods } class B { T getValue( A(T) a ) // <-- Here, the type of the return value // is the type T of A(T) { /* some code */ } } /* ------------------------------------- */ thanks in advance, TSalm |
July 05, 2008 Re: Return type depends on his argument's template | ||||
---|---|---|---|---|
| ||||
Posted in reply to TSalm | TSalm <tsalm@free.fr> wrote:
> Hello,
>
> Is there a way to do this :
>
> /* ------------------------------------- */
> class A(T)
> {
> // some methods
> }
>
> class B
> {
> T getValue( A(T) a ) // <-- Here, the type of the return value
> // is the type T of A(T)
> { /* some code */ }
> }
> /* ------------------------------------- */
>
>
> thanks in advance,
> TSalm
If I understand you correctly, this can be done like so:
class A(T)
{
}
class B
{
T getValue(U : A!(T), T)(U a)
{
// some code
}
}
-- Simen
|
July 06, 2008 Re: Return type depends on his argument's template | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjaeraas | Great !
Thanks Simen
On Sat, 05 Jul 2008 11:34:29 +0200, Simen Kjaeraas wrote:
> TSalm <tsalm@free.fr> wrote:
>
>> Hello,
>>
>> Is there a way to do this :
>>
>> /* ------------------------------------- */ class A(T)
>> {
>> // some methods
>> }
>>
>> class B
>> {
>> T getValue( A(T) a ) // <-- Here, the type of the return value
>> // is the type T of A(T)
>> { /* some code */ }
>> }
>> /* ------------------------------------- */
>>
>>
>> thanks in advance,
>> TSalm
>
> If I understand you correctly, this can be done like so:
>
> class A(T)
> {
> }
>
> class B
> {
> T getValue(U : A!(T), T)(U a)
> {
> // some code
> }
> }
>
> -- Simen
|
Copyright © 1999-2021 by the D Language Foundation