1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BASE_TEMPLATE_UTIL_H_
6 #define BASE_TEMPLATE_UTIL_H_
10 // template definitions from tr1
12 template<class T
, T v
>
13 struct integral_constant
{
14 static const T value
= v
;
16 typedef integral_constant
<T
, v
> type
;
19 template <class T
, T v
> const T integral_constant
<T
, v
>::value
;
21 typedef integral_constant
<bool, true> true_type
;
22 typedef integral_constant
<bool, false> false_type
;
24 template <class T
> struct is_pointer
: false_type
{};
25 template <class T
> struct is_pointer
<T
*> : true_type
{};