Index: base/template_util.h |
diff --git a/base/template_util.h b/base/template_util.h |
index 27bdb7348890571b1e7628ba1c908dfab330afa9..765358d58459297006b669da126c59e6728bac14 100644 |
--- a/base/template_util.h |
+++ b/base/template_util.h |
@@ -27,6 +27,14 @@ typedef integral_constant<bool, false> false_type; |
template <class T> struct is_pointer : false_type {}; |
template <class T> struct is_pointer<T*> : true_type {}; |
+template<class> struct is_array : public false_type {}; |
+template<class T, size_t n> struct is_array<T[n]> : public true_type {}; |
+template<class T> struct is_array<T[]> : public true_type {}; |
+ |
+template <class T> struct is_non_const_reference : false_type {}; |
+template <class T> struct is_non_const_reference<T&> : true_type {}; |
+template <class T> struct is_non_const_reference<const T&> : false_type {}; |
+ |
namespace internal { |
// Types small_ and big_ are guaranteed such that sizeof(small_) < |