Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. template<typename T, typename X, typename Y>
  2. void myFunc(T<X,Y> map, X x, Y y) {
  3. map[x] += y;
  4. }
  5.  
  6. template <template <typename, typename> class M, typename K, typename V>
  7. void Foo(M<K, V> & container)
  8. {
  9. // ...
  10. };
  11.  
  12. template <template <typename, typename, typename...> class M, typename K, typename V, typename ...Args>
  13. void Foo(M<K, V, Args...> & container)
  14. {
  15. // ...
  16. };
  17.  
  18. template <typename Container> void FooImpl(Container &);
  19.  
  20. template <template <typename, typename> class M,
  21. typename K, typename V>
  22. void Foo(M<K,V> & c) { FooImpl(c); }
  23.  
  24. template <template <typename, typename, typename> class M,
  25. typename K, typename V, typename A1>
  26. void Foo(M<K,V,A1> & c) { FooImpl(c); }
  27.  
  28. template <template <typename, typename, typename, typename> class M,
  29. typename K, typename V, typename A1, typename A2>
  30. void Foo(M<K,V,A1,A2> & c) { FooImpl(c); }
  31.  
  32. // etc.
  33.  
  34. template<typename T, typename X, typename Y>
  35. void myFunc(T map, X x, Y y) {
  36. map[x] += y;
  37. }
  38.  
  39. template<typename T>
  40. void myFunc(T map, typename T::key_type x, typename T::mapped_type y) {
  41.  
  42. template<typename T, typename X, typename Y>
  43. void myFunc(T map, X x, Y y) {
  44. map[x] += y;
  45. }
  46.  
  47. // ...
  48.  
  49. map<int, int> myMap;
  50. myFunc(myMap, 5, 7);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement