Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename T, typename X, typename Y>
- void myFunc(T<X,Y> map, X x, Y y) {
- map[x] += y;
- }
- template <template <typename, typename> class M, typename K, typename V>
- void Foo(M<K, V> & container)
- {
- // ...
- };
- template <template <typename, typename, typename...> class M, typename K, typename V, typename ...Args>
- void Foo(M<K, V, Args...> & container)
- {
- // ...
- };
- template <typename Container> void FooImpl(Container &);
- template <template <typename, typename> class M,
- typename K, typename V>
- void Foo(M<K,V> & c) { FooImpl(c); }
- template <template <typename, typename, typename> class M,
- typename K, typename V, typename A1>
- void Foo(M<K,V,A1> & c) { FooImpl(c); }
- template <template <typename, typename, typename, typename> class M,
- typename K, typename V, typename A1, typename A2>
- void Foo(M<K,V,A1,A2> & c) { FooImpl(c); }
- // etc.
- template<typename T, typename X, typename Y>
- void myFunc(T map, X x, Y y) {
- map[x] += y;
- }
- template<typename T>
- void myFunc(T map, typename T::key_type x, typename T::mapped_type y) {
- template<typename T, typename X, typename Y>
- void myFunc(T map, X x, Y y) {
- map[x] += y;
- }
- // ...
- map<int, int> myMap;
- myFunc(myMap, 5, 7);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement