view gcc/testsuite/g++.dg/cpp0x/traits1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/57016
// { dg-require-effective-target c++11 }

template < typename _Tp, _Tp __v > struct integral_constant
{
  static constexpr _Tp value = __v;
};
template < bool, typename, typename > struct conditional;
template < typename ... >struct __and_;
template
  <
  typename
  _B1,
  typename
  _B2 > struct __and_ <_B1, _B2 >:conditional < _B1::value, _B2, _B1 >::type
{};
template < typename _Pp > struct __not_:integral_constant < bool, _Pp::value >
{};
template < typename > struct add_rvalue_reference;
template
  < typename _Tp > typename add_rvalue_reference < _Tp >::type declval ();
template < bool, typename _Iftrue, typename > struct conditional
{
  typedef _Iftrue type;
};
template < class, class > struct pair;
template < typename > class allocator;
template < typename, typename, typename > struct binary_function;
template < typename _Tp > struct equal_to:binary_function < _Tp, _Tp, bool >
{};
template < typename > struct hash;
template < >struct hash <int >
{};
template
  <
  typename,
  typename,
  typename,
  typename, typename, typename, typename, typename > struct _Hashtable_base;
template
  <
  typename,
  typename
  > struct __is_noexcept_hash:integral_constant < bool, noexcept ((declval)) >
{}
;
struct _Identity;
template < bool, bool _Constant_iterators, bool > struct _Hashtable_traits
 ;
struct _Mod_range_hashing;
struct _Default_ranged_hash;
struct _Prime_rehash_policy;
template
  <
  typename
  _Tp,
  typename
  _Hash
  >
  using
  __cache_default
  =
  __not_
  <
  __and_
  <
  integral_constant
  < bool, __is_final (_Hash) >, __is_noexcept_hash < _Tp, _Hash > >>;
template < typename _Key, typename _Value, typename, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename, typename _RehashPolicy, typename _Traits > class _Hashtable:
_Hashtable_base
  < _Key, _Value, _ExtractKey, _Equal, _H1, _H2, _RehashPolicy, _Traits >
{}
;
template
  <
  bool
  _Cache > using __uset_traits = _Hashtable_traits < _Cache, true, true >;
template
  <
  typename
  _Value,
  typename
  _Hash
  =
  hash
  <
  _Value
  >,
  typename
  _Pred
  =
  equal_to
  <
  _Value
  >,
  typename
  _Alloc
  =
  allocator
  <
  _Value
  >,
  typename
  _Tr
  =
  __uset_traits
  <
  __cache_default
  <
  _Value,
  _Hash
  >::value
  >
  >
  using
  __uset_hashtable
  =
  _Hashtable
  <
  _Value,
  _Value,
  _Alloc,
  _Identity,
  _Pred,
  _Hash,
  _Mod_range_hashing, _Default_ranged_hash, _Prime_rehash_policy, _Tr >;
template < class _Value, class = hash < _Value > >class unordered_set
{
  typedef __uset_hashtable < _Value > iterator;
  template < typename > pair < iterator, bool > emplace ();
}
;
template class unordered_set < int >;