An idea to improve eponymous templates
Nathan M. Swan
nathanmswan at gmail.com
Wed Apr 11 21:27:59 PDT 2012
On Thursday, 12 April 2012 at 02:21:46 UTC, Reid Levenick wrote:
> Firstly, I had no idea where suggestions should go, and I saw a
> few others here and thus here I am.
>
> I was writing some code that depended heavily on my own
> eponymous templates, and decided to change the names of some of
> them to make them more self-documenting. However, after
> changing the name, I encountered a long stream of
> unintelligible errors (to me, I haven't been using D for a long
> time) about template instances.
>
> So, my idea is that the 'this' keyword could be used in
> templates as a shortcut for eponymous templates, allowing code
> like this
>
> template anEponymousTemplate( size_t whatever ) {
> enum this = whatever * 2;
> }
> template anotherOne( T ) {
> static if( is( T == class ) ) {
> alias long this;
> } else {
> alias int this;
> }
> }
>
> Which would reduce cruft and make it easier to read some
> templates, as well as reducing maintenance.
I like the idea. To get rid of any confusion with keywords,
name-mangling, or classes, I suggest having "this" being
syntactic sugar for the name of the template.
NMS
More information about the Digitalmars-d
mailing list