fork download
  1. #include <iostream>
  2. #include <boost/utility.hpp>
  3. #include <boost/type_traits.hpp>
  4.  
  5. struct BarBase {};
  6. struct Bar: BarBase {};
  7.  
  8. struct FooBase {};
  9. struct Foo: FooBase {};
  10.  
  11.  
  12. template <typename T>
  13. struct Task
  14. {
  15. void doIt();
  16. };
  17.  
  18. template <typename T>
  19. void Task<T>::doIt()
  20. {
  21. std::cout << "Generic doIt()" << std::endl;
  22. }
  23.  
  24. template <>
  25. void Task<Foo>::doIt()
  26. {
  27. std::cout << "doIt() for Foo" << std::endl;
  28. }
  29.  
  30.  
  31. int main()
  32. {
  33. Task<Foo> f;
  34. f.doIt();
  35. }
Success #stdin #stdout 0.01s 2724KB
stdin
Standard input is empty
stdout
doIt() for Foo