Commit a13ab2bc by Paolo Carlini Committed by Paolo Carlini

hashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of c++/51213.

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
	hacks thanks to the resolution of c++/51213.

From-SVN: r192380
parent bd37e09f
2012-10-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
hacks thanks to the resolution of c++/51213.
2012-10-11 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/23_containers/bitset/45713.cc: Tweak.
......
......@@ -921,8 +921,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Specialization using EBO.
template<int _Nm, typename _Tp>
struct _Hashtable_ebo_helper<_Nm, _Tp, true>
// See PR53067.
: public _Tp
: private _Tp
{
_Hashtable_ebo_helper() = default;
......@@ -989,9 +988,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Key, typename _Value, typename _ExtractKey,
typename _H1, typename _H2, typename _Hash>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash, false>
// See PR53067.
: public _Hashtable_ebo_helper<0, _ExtractKey>,
public _Hashtable_ebo_helper<1, _Hash>
: private _Hashtable_ebo_helper<0, _ExtractKey>,
private _Hashtable_ebo_helper<1, _Hash>
{
private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
......@@ -1066,10 +1064,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
_Default_ranged_hash, false>
// See PR53067.
: public _Hashtable_ebo_helper<0, _ExtractKey>,
public _Hashtable_ebo_helper<1, _H1>,
public _Hashtable_ebo_helper<2, _H2>
: private _Hashtable_ebo_helper<0, _ExtractKey>,
private _Hashtable_ebo_helper<1, _H1>,
private _Hashtable_ebo_helper<2, _H2>
{
private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
......@@ -1150,10 +1147,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2>
struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
_Default_ranged_hash, true>
// See PR53067.
: public _Hashtable_ebo_helper<0, _ExtractKey>,
public _Hashtable_ebo_helper<1, _H1>,
public _Hashtable_ebo_helper<2, _H2>
: private _Hashtable_ebo_helper<0, _ExtractKey>,
private _Hashtable_ebo_helper<1, _H1>,
private _Hashtable_ebo_helper<2, _H2>
{
private:
typedef _Hashtable_ebo_helper<0, _ExtractKey> _EboExtractKey;
......@@ -1272,8 +1268,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2, typename _Hash>
struct _Local_iterator_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, true>
// See PR53067.
: public _H2
: private _H2
{
_Local_iterator_base() = default;
_Local_iterator_base(_Hash_node<_Value, true>* __p,
......@@ -1305,9 +1300,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _H1, typename _H2, typename _Hash>
struct _Local_iterator_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, false>
// See PR53067.
: public _Hash_code_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, false>
: private _Hash_code_base<_Key, _Value, _ExtractKey,
_H1, _H2, _Hash, false>
{
_Local_iterator_base() = default;
_Local_iterator_base(_Hash_node<_Value, false>* __p,
......@@ -1470,10 +1464,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
typename _ExtractKey, typename _Equal,
typename _H1, typename _H2, typename _Hash, typename _Traits>
struct _Hashtable_base
// See PR53067.
: public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash,
_Traits::__hash_cached::value>,
public _Hashtable_ebo_helper<0, _Equal>
: public _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, _Hash,
_Traits::__hash_cached::value>,
private _Hashtable_ebo_helper<0, _Equal>
{
public:
typedef _Key key_type;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment