fork download
  1. #include <memory>
  2.  
  3. template<typename... Args>
  4. class Option
  5. {
  6. public:
  7. Option(const Args&... arguments)
  8. {
  9. // irrelevant
  10. }
  11. // ...
  12. };
  13.  
  14.  
  15. void Choose()
  16. {
  17. //do nothing, end of list
  18. }
  19.  
  20. template <typename... Args, class... Rest>
  21. void Choose(const Option<Args...>& option, Rest&&... rest)
  22. {
  23. //irrelevant
  24.  
  25. Choose(std::forward<Rest>(rest)...);
  26. }
  27.  
  28. int main() {
  29. Choose(
  30. Option<int>(1),
  31. Option<int>(2),
  32. Option<int>(3)
  33. );
  34. }
Success #stdin #stdout 0s 3292KB
stdin
Standard input is empty
stdout
Standard output is empty