123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- [/
- Copyright 2014 Peter Dimov
- Distributed under the Boost Software License, Version 1.0.
- See accompanying file LICENSE_1_0.txt
- or copy at http://boost.org/LICENSE_1_0.txt
- ]
- [section:is_same is_same]
- [simplesect Authors]
- * Peter Dimov
- [endsimplesect]
- [section Header <boost/core/is_same.hpp>]
- The header `<boost/core/is_same.hpp>` defines the class template
- `boost::core::is_same<T1,T2>`. It defines a nested integral constant
- `value` which is `true` when `T1` and `T2` are the same type, and
- `false` when they are not.
- In tandem with `BOOST_TEST_TRAIT_TRUE` and `BOOST_TEST_TRAIT_FALSE`,
- `is_same` is useful for writing tests for traits classes that have
- to define specific nested types.
- [section Synopsis]
- ``
- namespace boost
- {
- namespace core
- {
- template<class T1, class T2> struct is_same;
- }
- }
- ``
- [endsect]
- [section Example]
- ``
- #include <boost/core/lightweight_test_trait.hpp>
- #include <boost/core/is_same.hpp>
- template<class T> struct X
- {
- typedef T& type;
- };
- using boost::core::is_same;
- int main()
- {
- BOOST_TEST_TRAIT_TRUE(( is_same<X<int>::type, int&> ));
- return boost::report_errors();
- }
- ``
- [endsect]
- [endsect]
- [endsect]
|