Ich habe eine Boost-Variante wie folgt aussehen: typedef boost::variant<int, float, double, long, bool, std::string, boost::posix_time::ptime> variant;
boost :: Variante <T> std :: string
ich eine Notwendigkeit für einen der Werte in dieser Variante zu einem std umwandeln zu können :: string , Ich fragte mich, ob es eine Template-Funktion gibt, die ich dafür verwenden könnte?
Oder was wäre der effektivste Weg?
Ich würde derzeit eine Reihe von überladenen Funktionen implementieren, die jeweils einen Typ und dann die Konvertierung mit std::stringstream
oder für posix_time
ich würde es verwenden, die Konvertierung Funktion. Vielleicht gibt es einen besseren Weg?
Eigentlich kann es auch effizienter sein (Boost eine Stapelanordnung für den Strompuffer verwendet werden soll, wenn die maximale Länge eines String-Darstellung des Typs zur Kompilierzeit bekannt). Aber die Frage lautete: boost :: variant. – UncleBens