[英]How to create a template with variable number of type parameters?
In our codebase we use std::variant<std::shared_ptr<SomeClass>, ...>
a lot. 在我们的代码库中,我们使用
std::variant<std::shared_ptr<SomeClass>, ...>
。
That obviously requires a lot of writing. 这显然需要大量的写作。 How to make a template?
如何制作模板?
template <class... T>
using VarSP = std::variant<std::shared_ptr<???>>;
Where should T
go in the above snippet? T
应该放在上面的代码段中? The desired behavior should be: 期望的行为应该是:
VarSP<Foo, Bar, Baz> // std::variant<std::shared_ptr<Foo>, std::shared_ptr<Bar>, std::shared_ptr<Baz>>
template <typename... T>
using VarSP = std::variant<std::shared_ptr<T>...>;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.