[Clemens Ladisch]

You mean you want to omit \n and the quotes?  That was always invalid
in both C and C++.

Makes me wonder how come it used to compile cleanly then. Now please don't tell me "it's a gcc extension so it is evil" because __asm__ is already kissing portability goodbye.

You could introduce an additional layer of indirection:  hold a
separate C++ object with a pointer from the Python-managed object.

Been there, done that. So far the next best thing, but too substantial a change for the project in question, and intolerably inconvenient in any context.

For completely specialized templates, you can avoid the "template<>"
stuff like this:

typedef Descriptor<AmpIV> Amp4Descriptor; // no "template" needed here

void Amp4Descriptor::setup() {...}

This is at least more readable than "template <>". It's still plain stupid to have to write. The version I prefer is already unambiguous, why should one have to add anything?

I trust you got that right and it's in fact a C++ standard requirement; in that case I guess I'll have to sadly write the whole thing off as a case of language lawyer madness.

"aesthetics" is not a keyword in C++.  ;-)

Thought so :) but in the end it is what makes looking at code bearable for me.

Cheers, Tim

Reply via email to