Ich arbeite an Projekt, das generische Cache für mehrere gespeicherte Klassen benötigt. Meine Basisklasse sieht wie folgt aus:Variadic Template-Klasse - variadic Mitglied Funktion
template<typename ... Types>
class VarCache{
template<typename T>
using item_type = shared_ptr<holder<T>>;
template<typename T>
using map_type = map<int64_t,item_type <T>>;
public:
std::tuple<map_type<Types>...> caches;
};
Ich brauche Funktion zu schreiben, die keine Argumente akzeptieren würde, sondern indem sie auf Cache-Objekt aufrufen, es würde alle gespeicherten Kartenvarianten iterativ durchqueren, und perfrom Aktion (Entfernen nicht benötigter Elemente) .
Beispiel:
Ich habe VarCache<A,B,C> cache
und Verfahren prune<T>();
wo T
eine A,B,C
ist
und durch cache.prune_all_variants();
Aufruf Ich will Cache
prune<A>();
prune<B>();
prune<C>();
ist dies möglich auszuführen?
Vielen Dank, funktioniert groß :). – semtexzv