hashtable (_Hashtable<>): Add missing pointer and const_pointer typedefs.

2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
	const_pointer typedefs.
	* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
	Add.
	* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/requirements/
	typedef.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/requirements/
	typedef.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
	Likewise.

From-SVN: r139674
This commit is contained in:
Paolo Carlini 2008-08-27 19:27:11 +00:00 committed by Paolo Carlini
parent f3af21b556
commit eafb2f2d27
10 changed files with 395 additions and 0 deletions

View File

@ -1,3 +1,24 @@
2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
const_pointer typedefs.
* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
Add.
* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_multiset/requirements/
typedef.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multimap/requirements/
typedef.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
Likewise.
2008-08-27 Paul Brook <paul@codesourcery.com>
* libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of

View File

@ -149,6 +149,8 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1
// hasher, if present, comes from _Hash_code_base.
typedef typename _Allocator::difference_type difference_type;
typedef typename _Allocator::size_type size_type;
typedef typename _Allocator::pointer pointer;
typedef typename _Allocator::const_pointer const_pointer;
typedef typename _Allocator::reference reference;
typedef typename _Allocator::const_reference const_reference;

View File

@ -0,0 +1,47 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unordered_map>
void test01()
{
// Check for required typedefs
typedef std::unordered_map<int, int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::mapped_type mapped_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,47 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unordered_map>
void test01()
{
// Check for required typedefs
typedef std::unordered_multimap<int, int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::mapped_type mapped_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,46 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unordered_set>
void test01()
{
// Check for required typedefs
typedef std::unordered_multiset<int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,46 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
#include <unordered_set>
void test01()
{
// Check for required typedefs
typedef std::unordered_set<int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,47 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.4 unordered_map
#include <tr1/unordered_map>
void test01()
{
// Check for required typedefs
typedef std::tr1::unordered_map<int, int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::mapped_type mapped_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,47 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.6 unordered_multimap
#include <tr1/unordered_map>
void test01()
{
// Check for required typedefs
typedef std::tr1::unordered_multimap<int, int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::mapped_type mapped_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,46 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.5 unordered_multiset
#include <tr1/unordered_set>
void test01()
{
// Check for required typedefs
typedef std::tr1::unordered_multiset<int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}

View File

@ -0,0 +1,46 @@
// { dg-do compile }
// 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
// Copyright (C) 2008 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING. If not, write to the Free
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
// USA.
// 6.3.4.3 unordered_set
#include <tr1/unordered_set>
void test01()
{
// Check for required typedefs
typedef std::tr1::unordered_set<int> test_type;
typedef test_type::key_type key_type;
typedef test_type::value_type value_type;
typedef test_type::hasher hasher;
typedef test_type::key_equal key_equal;
typedef test_type::allocator_type allocator_type;
typedef test_type::pointer pointer;
typedef test_type::const_pointer const_pointer;
typedef test_type::reference reference;
typedef test_type::const_reference const_reference;
typedef test_type::size_type size_type;
typedef test_type::difference_type difference_type;
typedef test_type::iterator iterator;
typedef test_type::const_iterator const_iterator;
typedef test_type::local_iterator local_iterator;
typedef test_type::const_local_iterator const_local_iterator;
}