fork(1) download
  1. #include <type_traits>
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. template<bool Enable, class T = void>
  6. using enable_if_t = typename std::enable_if<Enable, T>::type;
  7.  
  8. class example{
  9. public:
  10. template<typename Ret, typename ... Args>
  11. static enable_if_t<!std::is_void<Ret>::value, Ret> f(int id, Args&& ... args);
  12.  
  13. template<typename Ret, typename ... Args>
  14. static enable_if_t<std::is_void<Ret>::value> f(int id, Args&& ... args);
  15. };
  16.  
  17. template<typename Ret, typename ... Args>
  18. enable_if_t<!std::is_void<Ret>::value, Ret> example::f(int id, Args&& ... args){
  19. return Ret(0);
  20. }
  21.  
  22. template<typename Ret, typename ... Args>
  23. enable_if_t<std::is_void<Ret>::value> example::f(int id, Args&& ... args){
  24. }
  25.  
  26. int main() {
  27. // your code goes here
  28. return 0;
  29. }
Success #stdin #stdout 0s 3336KB
stdin
Standard input is empty
stdout
Standard output is empty