From: Lei Qiao <qiaol618@gmail.com>
Date: Thu, 1 Feb 2018 01:49:55 +0000 (+0800)
Subject: satisfy icc 15 about template arguments of std::map's
X-Git-Tag: v9.0.0-rc1~486^2
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5547d72f503ffe7848a94cf22021a4e1f4370988;p=dealii.git

satisfy icc 15 about template arguments of std::map's
---

diff --git a/include/deal.II/base/patterns.h b/include/deal.II/base/patterns.h
index f266d5730e..03d1d1a357 100644
--- a/include/deal.II/base/patterns.h
+++ b/include/deal.II/base/patterns.h
@@ -1452,10 +1452,14 @@ namespace Patterns
       template <typename... Args> struct is_list_compatible<std::unordered_multiset<Args...>> : std::true_type {};
 
       template <typename T>       struct is_map_compatible : std::false_type {};
-      template <typename... Args> struct is_map_compatible<std::map               <Args...>> : std::true_type {};
-      template <typename... Args> struct is_map_compatible<std::multimap          <Args...>> : std::true_type {};
-      template <typename... Args> struct is_map_compatible<std::unordered_map     <Args...>> : std::true_type {};
-      template <typename... Args> struct is_map_compatible<std::unordered_multimap<Args...>> : std::true_type {};
+      template <class Key, class T, class Compare, class Allocator>
+      struct is_map_compatible<std::map<Key,T,Compare,Allocator>> : std::true_type {};
+      template <class Key, class T, class Compare, class Allocator>
+      struct is_map_compatible<std::multimap<Key,T,Compare,Allocator>> : std::true_type {};
+      template <class Key, class T, class Hash, class KeyEqual, class Allocator>
+      struct is_map_compatible<std::unordered_map<Key,T,Hash,KeyEqual,Allocator>> : std::true_type {};
+      template <class Key, class T, class Hash, class KeyEqual, class Allocator>
+      struct is_map_compatible<std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>> : std::true_type {};
     }
 
     // type trait to use the implementation type traits as well as decay the type