schleife mit makros
-
hi,
um mir arbeit abzunehmen und um boilerplatecode einzudämmen möchte ich eine schleife mit makros machen. aktuell sieht das in etwa so aus:
template<class T, class R> struct remove_cv<R(T::*)() const> : id<R(T::*)()> { static const int n = 0; }; //4 mal total mit allen möglichen methoden-cv-kombis template<class T, class R, class arg1> struct remove_cv<R(T::*)(arg1) const> : id<R(T::*)(arg1)> { static const int n = 1; }; //wieder 4mal
diese art von code kommt vermehrt auf, gibt es daher eine allgemeingültige lösung dafür?
ich dachte daran den block mit platzhalter-makros in eine datei auszulagern, ihn x mal zu includen und dabei jedes mal sukzessiv den zähler (das ist dann ein makro) um 1 zu erhöhen und ein neues argument hinzuzufügen (auch makro). um 1 erhöhen ist ja einfach und einem makro ein ", class argn" anzuhängen dürfte auch noch realisierbar sein, aber wie bekomme ich die schleife hin (ohne boost_pp)?
-
Ohne Boost.PP? Na Boost.PP von Hand nachprogrammiern.
Oder, naheliegender, auf C++11 wechseln? (Jetzt, nachdem C++14 da ist, wäre das durchaus eine Option.)