1 /* $XConsortium: OwnerTable.h /main/2 1996/08/13 10:09:13 mgreess $ */
2 // Copyright (c) 1994 James Clark
3 // See the file COPYING for copying permission.
5 #ifndef OwnerTable_INCLUDED
6 #define OwnerTable_INCLUDED 1
8 #include "PointerTable.h"
11 namespace SP_NAMESPACE {
14 template<class T, class K, class HF, class KF>
15 class OwnerTable : public PointerTable<T *, K, HF, KF> {
20 void swap(OwnerTable<T, K, HF, KF> &x) {
21 PointerTable<T *, K, HF, KF>::swap(x);
24 OwnerTable(const OwnerTable<T, K, HF, KF> &) {}
25 void operator=(const OwnerTable<T, K, HF, KF> &) {}
28 template<class T, class K, class HF, class KF>
29 class OwnerTableIter : public PointerTableIter<T *, K, HF, KF> {
31 OwnerTableIter(const OwnerTable<T, K, HF, KF> &table)
32 : PointerTableIter<T *, K, HF, KF>(table) { }
35 template<class T, class K, class HF, class KF>
36 class CopyOwnerTable : public OwnerTable<T, K, HF, KF> {
39 CopyOwnerTable(const CopyOwnerTable<T, K, HF, KF> &tab) { *this = tab; }
40 void operator=(const CopyOwnerTable<T, K, HF, KF> &tab);
47 #endif /* not OwnerTable_INCLUDED */
49 #ifdef SP_DEFINE_TEMPLATES
50 #include "OwnerTable.C"