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.)


Log in to reply