Advertisement
Guest User

test

a guest
Dec 15th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. template <class T>
  2. struct isAssContainer {
  3.     static constexpr bool value = false;
  4. };
  5.  
  6. template<class T,class P>
  7. struct isAssContainer<std::map<T, P>> {
  8.     static constexpr bool value = true;
  9. };
  10. //........... подобные для всех остальных
  11.  
  12. template <class T>
  13. struct isAssMultiContainer {
  14.     static constexpr bool value = false;
  15. };
  16.  
  17. template<class T,class P>
  18. struct isAssMultiContainer<std::multimap<T, P>> {
  19.     static constexpr bool value = true;
  20. };
  21. //........... подобные для всех остальных
  22.  
  23. template <class T, class P,
  24.     typename std::enable_if<(isAssContainer<P>::value),
  25.                             T>::type* = nullptr>
  26. bool MergeAssociative(T a, P b) {
  27.     std::cout << 1 << std::endl;
  28.     return true;
  29. }
  30.  
  31. template <class T, class P,
  32.     typename std::enable_if<!isAssContainer<P>::value,
  33.                             T>::type* = nullptr>
  34. bool MergeAssociative(T a, P b) {
  35.     std::cout << 0 << ' ' << a << ' ' << std::endl; // a - приходит как адрес
  36.     return false;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement