...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
template <class T, class U>
struct is_same : public true_type-or-false_type
{};
Inherits: If T and U are the same types then inherits from true_type, otherwise inherits from false_type.
Header: #include
<boost/type_traits/is_same.hpp>
or #include <boost/type_traits.hpp>
Compiler Compatibility: If the compiler does not support partial-specialization of class templates, then this template can not be used with abstract, incomplete or function types.
Examples:
is_same<int, int>
inherits fromtrue_type
.
is_same<int, int>::type
is the typetrue_type
.
is_same<int, int>::value
is an integral constant expression that evaluates to true.
is_same<int const, int>::value
is an integral constant expression that evaluates to false.
is_same<int&, int>::value
is an integral constant expression that evaluates to false.
is_same<T, T>::value_type
is the typebool
.