annotate src/SLQueue.h @ 1822:3a47ca3dd227

[project @ 1996-02-01 08:06:35 by jwe]
author jwe
date Thu, 01 Feb 1996 08:07:07 +0000
parents 3dece74ae10c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
741
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
1 // This may look like C code, but it is really -*- C++ -*-
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
2 /*
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
3 Copyright (C) 1988 Free Software Foundation
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
4 written by Doug Lea (dl@rocky.oswego.edu)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
5
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
6 This file is part of the GNU C++ Library. This library is free
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
7 software; you can redistribute it and/or modify it under the terms of
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
8 the GNU Library General Public License as published by the Free
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
9 Software Foundation; either version 2 of the License, or (at your
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
10 option) any later version. This library is distributed in the hope
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
11 that it will be useful, but WITHOUT ANY WARRANTY; without even the
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
12 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
13 PURPOSE. See the GNU Library General Public License for more details.
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
14 You should have received a copy of the GNU Library General Public
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
15 License along with this library; if not, write to the Free Software
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
16 Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
17 */
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
18
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
19
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
20 #if !defined (_SLQueue_h)
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
21 #define _SLQueue_h 1
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
22
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
23 #include "SLList.h"
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
24 #include "Queue.h"
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
25
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
26 template <class T>
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
27 class
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
28 SLQueue : public Queue<T>
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
29 {
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
30 private:
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
31 SLList<T> p;
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
32
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
33 public:
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
34 SLQueue (void) : p () { }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
35
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
36 SLQueue (const SLQueue<T>& q) : p (q.p) { }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
37
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
38 ~SLQueue (void) { }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
39
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
40 void operator = (const SLQueue<T>& s) { p = s.p; }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
41
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
42 void enq (const T& item) { p.append (item); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
43
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
44 T deq (void) { return p.remove_front (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
45
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
46 T& front (void) { return p.front (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
47
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
48 void del_front (void) { p.del_front (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
49
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
50 void clear (void) { p.clear (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
51
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
52 int empty (void) const { return p.empty (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
53
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
54 int full (void) const { return 0; }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
55
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
56 int length (void) const { return p.length (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
57
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
58 int OK (void) { return p.OK (); }
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
59 };
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
60
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
61 #endif
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
62
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
63 /*
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
64 ;;; Local Variables: ***
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
65 ;;; mode: C++ ***
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
66 ;;; page-delimiter: "^/\\*" ***
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
67 ;;; End: ***
2d2f3c07cedd [project @ 1994-09-30 14:47:29 by jwe]
jwe
parents:
diff changeset
68 */