blob: 58403cf1fbbdef2e1836bf94d14c2219b829b41b [file] [log] [blame]
[/
Copyright 2007 John Maddock.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
]
[section:integral_constant integral_constant]
template <class T, T val>
struct integral_constant
{
typedef integral_constant<T, val> type;
typedef T value_type;
static const T value = val;
};
typedef integral_constant<bool, true> true_type;
typedef integral_constant<bool, false> false_type;
Class template `integral_constant` is the common base class for all the value-based
type traits. The two typedef's `true_type` and `false_type` are provided for
convenience: most of the value traits are Boolean properties and so will inherit from
one of these.
[endsect]