template typedefs moeglich?



  • Ich habe ein paar verschachtelte Templatenamen mit mehreren Parametern, die ich mittels typedefs etwas uebersichtlicher gestalten moechte. Allerdings ist nicht jeder Templateparameter genau spezialisiert, ist etwas wie folgt moeglich:

    template <class T1, class T2, int N> class Blubb;  // <-- wenn ich hier fuer T1 und T2 beispielsweise nochmal Templates einsetze, wirds lang
                                 // wenn ich Blubb auch noch als Parameter an ein anderes template uebergebe wirds eklig
    
    // geht das, was jetzt kommt???
    template <int N>
    typedef std::set< Blubb< int, std::vector<float>, N> > SetVonBlubbVonFloatVectorundInt;
    
    int main()
    {
    SetVonBlubbVonFloatVectorundInt<20> bsp20;
    SetVonBlubbVonFloatVectorundInt<13> bsp13;
    }
    

    waere ein Kunstrukt dieser Art moeglich?



  • Momentan leider nicht.

    Ausweichmöglichkeit:

    template <int N> 
    struct Helper {
       typedef std::set< Blubb< int, std::vector<float>, N> > SetVonBlubbVonFloatVectorundInt;
    }
    
    int main()
    {
       Helper::SetVonBlubbVonFloatVectorundInt<20> bsp20;
       Helper::SetVonBlubbVonFloatVectorundInt<13> bsp13;
    }
    


  • Nicht eher

    Helper<20>::Setvon ....?



  • Doch natürlich.

    Copy&Paste halt 😃


Anmelden zum Antworten