Frage

Hier ist, was ich will geben können:

class foo : public watchKeys<A, B, C> {}; //Or any list of keys

boost :: mpl hat Sequenzen, die Ihnen erlauben, dies zu tun, aber ich will nicht zu tun haben:

class foo : public watchKeys<mpl::list<A, B, C> > {};

ich nichts dagegen „hässlich“ oder verbose auf der Innenseite, aber ich möchte, dass die Art und Weise watchKeys letztlich sehr einfach zu verwenden ist und intuitiv. Ich kann auch nicht herausfinden, wie boost es tut, aber das scheint zu sein, weil es eine Schicht von Makros zwischen mir und Vorlagen.

Wie kann ich über diese gehen? Ich würde es vorziehen, nicht die riesige Liste von Vorlagen für jede Anzahl von Typen zu tun, aber wenn das das einzige ist, ist es der einzige Weg, ...

Edit: Ich habe ziemlich sicher geworden, dass es keine Möglichkeit zu tun, was ich tun will (fast, aber man kann nicht eine variable Anzahl von Makro-Argumente haben), aber die Frage noch nützliche und informative Antworten generiert.

scroll top