fork(2) download
  1. #include <iostream>
  2.  
  3. template<bool T, class U = void>
  4. struct enable__if
  5. {};
  6.  
  7. template<class T>
  8. struct enable__if<true,T>
  9. {
  10. typedef T type;
  11. };
  12.  
  13. template <typename T, typename U>
  14. typename enable__if<std::is_same<typename U::value_type,T>::value,std::size_t>::type
  15. non_empties(const U& r)
  16. {
  17. return !r.empty();
  18. }
  19.  
  20. template <typename T, typename U>
  21. typename enable__if<!std::is_same<typename U::value_type,T>::value,std::size_t>::type
  22. non_empties(const U& r)
  23. {
  24. std::size_t res = 0;
  25. for(auto& it : r)
  26. {
  27. res += non_empties<T>(it);
  28. }
  29. return res;
  30. }
  31.  
  32. int main()
  33. {
  34. return 0;
  35. }
Success #stdin #stdout 0s 3292KB
stdin
Standard input is empty
stdout
Standard output is empty