function shadowed

ddos via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Apr 8 15:53:38 PDT 2015


On Wednesday, 8 April 2015 at 17:48:36 UTC, anonymous wrote:
> On Wednesday, 8 April 2015 at 12:05:00 UTC, ddos wrote:
>> vg.d:
>> module vg;
>> extern (C) void  vgSetParameterfv(VGHandle object, VGint 
>> paramType, VGint count, VGfloat *values);
>>
>> openvg.d
>> module openvg;
>> public import vg;
>>
>> void vgSetParameterfv(VGHandle object, VGint paramType, 
>> const(VGfloat[]) values)
>> {
>> 	vg.vgSetParameterfv(object, paramType, 
>> cast(int)values.length, cast(VGfloat*)values);
>> }
>>
>> test.d
>> import openvg;
>> vgSetParameterfv(object, paramType, length, values); // call 
>> to fun in vg.d
>>
>> how can i call both functions? i'd like to avoid using the 
>> module prefix vg.vgSetParameterfv if possible
>
> Add to openvg:
> alias vgSetParameterfv = vg.vgSetParameterfv;

thx that works, but why is it even necessary?

same behavior when overriding methods of base classes

class Matrix(T)
{
   abstract const(T) opIndexAssign(const(T) val, int row, int col);
   Matrix!T opIndexAssign(T val, Tuple!(int,int) idx0, 
Tuple!(int,int) idx1)
   {
     ...
   }
}

class DenseMatrix(T) : Matrix!(T)
{
     override const(T) opIndexAssign(const(T) val, int row, int 
col)
     {
     	...
     }

     alias opIndexAssign = Matrix!T.opIndexAssign;
}

why not just make it callable without the alias?


More information about the Digitalmars-d-learn mailing list