// -*- C++ -*-
-// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2005-2022 Free Software Foundation, Inc.
//
// 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
{
namespace detail
{
+ /// Primary template.
template<typename Key, typename Hash_Fn, typename _Alloc,
typename Comb_Probe_Fn, typename Probe_Fn, bool Store_Hash>
class ranged_probe_fn;
typedef Comb_Probe_Fn comb_probe_fn_base;
typedef Hash_Fn hash_fn_base;
typedef Probe_Fn probe_fn_base;
- typedef typename _Alloc::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference key_const_reference;
+ typedef typename rebind_traits<_Alloc, Key>::const_reference
+ key_const_reference;
ranged_probe_fn(size_type);
typedef Comb_Probe_Fn comb_probe_fn_base;
typedef Hash_Fn hash_fn_base;
typedef Probe_Fn probe_fn_base;
- typedef typename _Alloc::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference key_const_reference;
+ typedef typename rebind_traits<_Alloc, Key>::const_reference
+ key_const_reference;
ranged_probe_fn(size_type);
protected:
typedef typename _Alloc::size_type size_type;
typedef Comb_Probe_Fn comb_probe_fn_base;
- typedef typename _Alloc::template rebind<Key>::other key_allocator;
- typedef typename key_allocator::const_reference key_const_reference;
+ typedef typename rebind_traits<_Alloc, Key>::const_reference
+ key_const_reference;
ranged_probe_fn(size_type size)
{ Comb_Probe_Fn::notify_resized(size); }