[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