annotate src/SLStack.cc @ 877:ba6acc6309ec

[project @ 1994-11-05 03:10:20 by jwe]
author jwe
date Sat, 05 Nov 1994 03:16:51 +0000
parents 0a9ac29dfd4d
children dfe01093f657
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
519
b9284136189a [project @ 1994-07-19 14:40:20 by jwe]
jwe
parents: 355
diff changeset
1 // SLStack.cc -*- C++ -*-
239
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
2 /*
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
3
354
1a75146ef3bb [project @ 1994-02-11 00:39:55 by jwe]
jwe
parents: 239
diff changeset
4 Copyright (C) 1993, 1994 John W. Eaton
239
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
5
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
7
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
10 Free Software Foundation; either version 2, or (at your option) any
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
11 later version.
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
12
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
16 for more details.
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
17
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
19 along with Octave; see the file COPYING. If not, write to the Free
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
20 Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
21
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
22 */
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
23
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
24 #ifdef HAVE_CONFIG_H
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
25 #include "config.h"
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
26 #endif
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
27
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
28 #include "SLStack.h"
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
29
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
30 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
31 SLStack<T>::SLStack (void) : p ()
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
32 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
33 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
34
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
35 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
36 SLStack<T>::SLStack (const SLStack<T>& a) : p (a.p)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
37 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
38 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
39
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
40 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
41 SLStack<T>::~SLStack (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
42 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
43 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
44
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
45 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
46 void
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
47 SLStack<T>::push (const T& item)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
48 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
49 p.prepend (item);
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
50 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
51
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
52 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
53 T
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
54 SLStack<T>::pop (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
55 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
56 return p.remove_front ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
57 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
58
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
59 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
60 T&
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
61 SLStack<T>::top (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
62 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
63 return p.front ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
64 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
65
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
66 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
67 void
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
68 SLStack<T>::del_top (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
69 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
70 p.del_front ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
71 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
72
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
73 template <class T>
877
ba6acc6309ec [project @ 1994-11-05 03:10:20 by jwe]
jwe
parents: 755
diff changeset
74 SLStack<T>&
239
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
75 SLStack<T>::operator = (const SLStack<T>& s)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
76 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
77 p = s.p;
877
ba6acc6309ec [project @ 1994-11-05 03:10:20 by jwe]
jwe
parents: 755
diff changeset
78 return *this;
239
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
79 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
80
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
81 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
82 int
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
83 SLStack<T>::empty (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
84 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
85 return p.empty ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
86 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
87
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
88 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
89 int
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
90 SLStack<T>::full (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
91 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
92 return 0;
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
93 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
94
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
95 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
96 int
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
97 SLStack<T>::length (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
98 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
99 return p.length ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
100 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
101
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
102 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
103 int
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
104 SLStack<T>::OK (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
105 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
106 return p.OK ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
107 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
108
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
109 template <class T>
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
110 void
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
111 SLStack<T>::clear (void)
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
112 {
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
113 p.clear ();
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
114 }
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
115
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
116 /*
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
117 ;;; Local Variables: ***
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
118 ;;; mode: C++ ***
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
119 ;;; page-delimiter: "^/\\*" ***
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
120 ;;; End: ***
4f8134fa54a9 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents:
diff changeset
121 */