Ich brauche Hilfe beim Implementieren eines Entwurfs für mein Programm. Also ich habe ein Tupel mit allem, was ich in es will, aus diesem Aufruf erstelltÜbergeben Sie ein Tupel an eine Hilfsklasse
auto t1 = getMyTuple();
Aber ich will eine Hilfsklasse machen, so dass ich die < < Betreiber überlasten kann, so dass, wenn ich rufe
std::cout << my_tuple_helper;
es wird jedes Ding ausdrucken.
ich eine Hilfsklasse, aber ich weiß nicht, wie t1 in sie zu erhalten .. sieht es so etwas wie
template<typename... Args>
class my_tuple_helper
{
public:
std::tuple<Args...> my_tup;
my_tuple_helper(std::tuple<Args... t)
{
my_tup = t;
}
//or
my_tuple_helper(Args... args)
{
my_tup = std::tuple<Args...>(args...);
}
};
das Problem mit einem dieses Konstrukteuren bin ich weiß nicht, wie die Vorlage zu übergeben, wenn die Erstellung das Objekt, wenn es Art auto wie ist:
auto t1 = getMyTuple();
my_tuple_helper<???> mth(t1);
ich hatte etwas, das zusammengestellt, wie diese
template<typename T>
class my_tuple_helper
{
public:
T my_tup;
my_tuple_helper(T t)
{
my_tup = t;
}
};
sah
und ich nennen könnte
auto t1 = getMyTuple();
my_tuple_helper<decltype(t1)> mth(t1);
Aber ich mag die Tatsache nicht, dass T könnte alles sein, eher Id eine std :: tuple my_tup als ein T my_tup hat (ich bin nicht einmal sicher, ob das funktionieren würde) .
Hat jemand irgendwelche Ideen, wie ich ein Std :: Tupel, das in einem Auto-Objekt gespeichert ist, in meine Hilfsklasse bekommen kann, damit ich als std :: tuple-Objekt (in der Klasse) darauf zugreifen kann.
Vielen Dank im Voraus
Danke, ich habe nie darüber nachgedacht! – user2770808