// 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 {}; 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 >;