Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
October 11, 2007 base class function hiding | ||||
---|---|---|---|---|
| ||||
It's so annoying. I'm always running into difficulties with this. The times a function has been hidden when I didn't want it hidden outnumber the reverse case 20 to 1 or more. Especially with templates and mixins. I'm sure someone will say it it's better this way but I don't buy it. I really would prefer functions to never be hidden unless specifically requested. What can be done about this? |
October 11, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to bc | bc wrote:
> It's so annoying. I'm always running into difficulties with this. The times a function has been hidden when I didn't want it hidden outnumber the reverse case 20 to 1 or more. Especially with templates and mixins. I'm sure someone will say it it's better this way but I don't buy it. I really would prefer functions to never be hidden unless specifically requested. What can be done about this?
The problem is larger than personal preference, have a search through these groups and the archives on digitalmars.com/d.
|
October 12, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Regan Heath | On Thu, 11 Oct 2007 18:51:25 +0100, Regan Heath <regan@netmail.co.nz> wrote:
> bc wrote:
>> It's so annoying. I'm always running into difficulties with this. The times a function has been hidden when I didn't want it hidden outnumber the reverse case 20 to 1 or more. Especially with templates and mixins. I'm sure someone will say it it's better this way but I don't buy it. I really would prefer functions to never be hidden unless specifically requested. What can be done about this?
>
> The problem is larger than personal preference, have a search through these groups and the archives on digitalmars.com/d.
>
>
Thanks for the pointer. Sorry if I was rude BTW. I'd been messing around
trying to make a rectangular array class in C++, that must have an
opIndex with variable number of arguments up to the number of dimensions,
got p***ed off with that, thought 'i bet this is easier in D' and found
that it wasn't.
|
October 12, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to bc | bc wrote: > On Thu, 11 Oct 2007 18:51:25 +0100, Regan Heath <regan@netmail.co.nz> wrote: > >> bc wrote: >>> It's so annoying. I'm always running into difficulties with this. The times a function has been hidden when I didn't want it hidden outnumber the reverse case 20 to 1 or more. Especially with templates and mixins. I'm sure someone will say it it's better this way but I don't buy it. I really would prefer functions to never be hidden unless specifically requested. What can be done about this? >> >> The problem is larger than personal preference, have a search through these groups and the archives on digitalmars.com/d. >> >> > Thanks for the pointer. Sorry if I was rude BTW. I'd been messing around > trying to make a rectangular array class in C++, that must have an > opIndex with variable number of arguments up to the number of dimensions, > got p***ed off with that, thought 'i bet this is easier in D' and found > that it wasn't. With a string mixin and CTFE you should be able to generate the required functions on the fly. Take a look at the code here (first one on the page should do it): http://www.dsource.org/forums/viewtopic.php?t=3170&postdays=0&postorder=asc&start=0 It'll take some wading through, but if you're patient you should be able to figure out how to turn that into code that generates N different opIndex functions. --bb |
October 12, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to bc | bc wrote: > On Thu, 11 Oct 2007 18:51:25 +0100, Regan Heath <regan@netmail.co.nz> wrote: > >> bc wrote: >>> It's so annoying. I'm always running into difficulties with this. The times a function has been hidden when I didn't want it hidden outnumber the reverse case 20 to 1 or more. Especially with templates and mixins. I'm sure someone will say it it's better this way but I don't buy it. I really would prefer functions to never be hidden unless specifically requested. What can be done about this? >> >> The problem is larger than personal preference, have a search through these groups and the archives on digitalmars.com/d. >> >> > Thanks for the pointer. Sorry if I was rude BTW. It wasn't that, it's just that this topic comes up every now and again and it also happens to be a hard one to explain so it's better to re-use the old conversations if possible. > I'd been messing around > trying to make a rectangular array class in C++, that must have an > opIndex with variable number of arguments up to the number of dimensions, > got p***ed off with that, thought 'i bet this is easier in D' and found > that it wasn't. Looks like Bill is sorting you out :) Regan |
October 13, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to bc | bc wrote
> must have an opIndex with variable number of arguments up to the number of dimensions
What's wrong with
void opIndex(size_t[] arg ...)
-manfred
|
October 13, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Manfred Nowak | Manfred Nowak wrote:
> bc wrote
>
>> must have an opIndex with variable number of arguments up to the
>> number of dimensions
>
> What's wrong with
> void opIndex(size_t[] arg ...)
>
> -manfred
>
*) No compile-time check on exceeding the valid number of arguments.
*) the return type shouldn't be "void" but an N-nargs (N minus args.length) dimensional array. Since N is a template parameter, each function must return a different type.
--bb
|
October 14, 2007 Re: base class function hiding | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bill Baxter | Bill Baxter wrote
> *) No compile-time check on exceeding the valid number of arguments. *) the return type shouldn't be "void" but an N-nargs (N minus args.length) dimensional array. Since N is a template parameter, each function must return a different type.
thx
-manfred
|
Copyright © 1999-2021 by the D Language Foundation