1 /* Copyright (c) 2003, 2005, 2006 MySQL AB
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 of the License.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
19 #include <DLHashTable.hpp>
22 * KeyTable2 is DLHashTable2 with hardcoded Uint32 key named "key".
24 template <typename P
, typename T
>
25 class KeyTableImpl
: public DLHashTableImpl
<P
, T
> {
27 KeyTableImpl(P
& pool
) :
28 DLHashTableImpl
<P
, T
>(pool
) {
31 bool find(Ptr
<T
>& ptr
, const T
& rec
) const {
32 return DLHashTableImpl
<P
, T
>::find(ptr
, rec
);
35 bool find(Ptr
<T
>& ptr
, Uint32 key
) const {
38 return DLHashTableImpl
<P
, T
>::find(ptr
, rec
);
45 class KeyTable
: public KeyTableImpl
<ArrayPool
<T
>, T
>
48 KeyTable(ArrayPool
<T
> & p
) : KeyTableImpl
<ArrayPool
<T
>, T
>(p
) {}