Mercurial > octave
annotate libinterp/octave-value/ovl.h @ 25054:6652d3823428 stable
maint: Update copyright dates in all source files.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 30 Mar 2018 09:19:05 -0400 |
parents | ce2eb28e0a6d |
children | 00f796120a6d |
rev | line source |
---|---|
498 | 1 /* |
2 | |
25054
6652d3823428
maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents:
24624
diff
changeset
|
3 Copyright (C) 1994-2018 John W. Eaton |
8580
188d38a553c7
further indexing optimization touches
Jaroslav Hajek <highegg@gmail.com>
parents:
8579
diff
changeset
|
4 Copyright (C) 2009 VZLU Prague |
498 | 5 |
6 This file is part of Octave. | |
7 | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
8 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
9 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
11 (at your option) any later version. |
498 | 12 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
13 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
14 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22407
diff
changeset
|
16 GNU General Public License for more details. |
498 | 17 |
18 You should have received a copy of the GNU General Public License | |
7016 | 19 along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
23220
diff
changeset
|
20 <https://www.gnu.org/licenses/>. |
498 | 21 |
22 */ | |
23 | |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
24 #if ! defined (octave_ovl_h) |
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
25 #define octave_ovl_h 1 |
504 | 26 |
21244
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21017
diff
changeset
|
27 #include "octave-config.h" |
1473547f50f5
include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents:
21017
diff
changeset
|
28 |
1968 | 29 #include <string> |
4591 | 30 #include <vector> |
22063
55c20a3e3e59
ovl: new constructor with initializer_list to reduce code duplication.
Carnë Draug <carandraug@octave.org>
parents:
21244
diff
changeset
|
31 #include <initializer_list> |
1968 | 32 |
2943 | 33 #include "str-vec.h" |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
34 #include "Array.h" |
498 | 35 |
2369 | 36 #include "ov.h" |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
37 #include "Cell.h" |
498 | 38 |
737 | 39 class |
6109 | 40 OCTINTERP_API |
2872 | 41 octave_value_list |
508 | 42 { |
43 public: | |
44 | |
2086 | 45 octave_value_list (void) |
11581
6006ca07410d
another data member initialization fix
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
46 : data (), names () { } |
1968 | 47 |
9545
8670e55078fd
allow constructing octave_value_list from size
Jaroslav Hajek <highegg@gmail.com>
parents:
8920
diff
changeset
|
48 explicit octave_value_list (octave_idx_type n) |
11581
6006ca07410d
another data member initialization fix
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
49 : data (dim_vector (1, n)), names () { } |
9545
8670e55078fd
allow constructing octave_value_list from size
Jaroslav Hajek <highegg@gmail.com>
parents:
8920
diff
changeset
|
50 |
5275 | 51 octave_value_list (octave_idx_type n, const octave_value& val) |
11581
6006ca07410d
another data member initialization fix
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
52 : data (dim_vector (1, n), val), names () { } |
511 | 53 |
2086 | 54 octave_value_list (const octave_value& tc) |
11581
6006ca07410d
another data member initialization fix
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
55 : data (dim_vector (1, 1), tc), names () { } |
1968 | 56 |
22083
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
57 template<template <typename...> class OV_Container> |
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
58 octave_value_list (const OV_Container<octave_value>& args) |
22139
f8212eb6da00
Array: add constructor from std sequence containers (patch 9047)
Carnë Draug <carandraug@octave.org>
parents:
22083
diff
changeset
|
59 : data (args, dim_vector (1, args.size ())), names () { } |
22063
55c20a3e3e59
ovl: new constructor with initializer_list to reduce code duplication.
Carnë Draug <carandraug@octave.org>
parents:
21244
diff
changeset
|
60 |
22083
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
61 octave_value_list (const Array<octave_value>& d) |
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
62 : data (d.as_row ()), names () { } |
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
63 |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
64 octave_value_list (const Cell& tc) |
11581
6006ca07410d
another data member initialization fix
John W. Eaton <jwe@octave.org>
parents:
11574
diff
changeset
|
65 : data (tc.as_row ()), names () { } |
8546
3d8a914c580e
improve parser indexed assigment code
Jaroslav Hajek <highegg@gmail.com>
parents:
8523
diff
changeset
|
66 |
2086 | 67 octave_value_list (const octave_value_list& obj) |
4150 | 68 : data (obj.data), names (obj.names) { } |
508 | 69 |
8580
188d38a553c7
further indexing optimization touches
Jaroslav Hajek <highegg@gmail.com>
parents:
8579
diff
changeset
|
70 // Concatenation constructor. |
188d38a553c7
further indexing optimization touches
Jaroslav Hajek <highegg@gmail.com>
parents:
8579
diff
changeset
|
71 octave_value_list (const std::list<octave_value_list>&); |
188d38a553c7
further indexing optimization touches
Jaroslav Hajek <highegg@gmail.com>
parents:
8579
diff
changeset
|
72 |
22868
87e3163f6c87
use c++11 "= default" syntax for declaration of trivial destructors
John W. Eaton <jwe@octave.org>
parents:
22755
diff
changeset
|
73 ~octave_value_list (void) = default; |
4189 | 74 |
2086 | 75 octave_value_list& operator = (const octave_value_list& obj) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
76 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
77 if (this != &obj) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
78 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
79 data = obj.data; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
80 names = obj.names; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
81 } |
1968 | 82 |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
83 return *this; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
84 } |
508 | 85 |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
86 Array<octave_value> array_value (void) const { return data; } |
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
87 |
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
88 Cell cell_value (void) const { return array_value (); } |
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
89 |
2872 | 90 // Assignment will resize on range errors. |
508 | 91 |
5275 | 92 octave_value& operator () (octave_idx_type n) { return elem (n); } |
1968 | 93 |
10075
84b0725f4b09
return class types by reference in const Array element access functions
Jaroslav Hajek <highegg@gmail.com>
parents:
9545
diff
changeset
|
94 const octave_value& operator () (octave_idx_type n) const { return elem (n); } |
526 | 95 |
20232
a9574e3c6e9e
Deprecate Array::length() and Sparse::length() in favour of ::numel().
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
96 octave_idx_type length (void) const { return data.numel (); } |
2872 | 97 |
2951 | 98 bool empty (void) const { return length () == 0; } |
99 | |
14616
13cc11418393
improve handling of default resize fill value for arrays
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
100 void resize (octave_idx_type n, const octave_value& rfv = octave_value ()) |
11574
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
101 { |
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
102 data.resize (dim_vector (1, n), rfv); |
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
103 } |
2872 | 104 |
105 octave_value_list& prepend (const octave_value& val); | |
106 | |
107 octave_value_list& append (const octave_value& val); | |
108 | |
109 octave_value_list& append (const octave_value_list& lst); | |
110 | |
111 octave_value_list& reverse (void); | |
112 | |
6335 | 113 octave_value_list |
10659
8baff2aceabc
fix slicing value lists with name tags (bug #29960)
Jaroslav Hajek <highegg@gmail.com>
parents:
10350
diff
changeset
|
114 slice (octave_idx_type offset, octave_idx_type len, bool tags = false) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
115 { |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
116 // linear_slice uses begin/end indices instead of offset and length. |
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
117 // Avoid calling with upper bound out of range. |
18202
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
118 // linear_slice handles the case of len < 0. |
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
119 |
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
120 octave_value_list retval |
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
121 = data.linear_slice (offset, std::min (offset + len, length ())); |
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
122 |
20232
a9574e3c6e9e
Deprecate Array::length() and Sparse::length() in favour of ::numel().
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
123 if (tags && len > 0 && names.numel () > 0) |
18202
ec87e965c246
allow inputname to work correctly with feval (bug #35497)
John W. Eaton <jwe@octave.org>
parents:
17787
diff
changeset
|
124 retval.names = names.linear_slice (offset, std::min (offset + len, |
20232
a9574e3c6e9e
Deprecate Array::length() and Sparse::length() in favour of ::numel().
Carnë Draug <carandraug@octave.org>
parents:
19697
diff
changeset
|
125 names.numel ())); |
10659
8baff2aceabc
fix slicing value lists with name tags (bug #29960)
Jaroslav Hajek <highegg@gmail.com>
parents:
10350
diff
changeset
|
126 |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
127 return retval; |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
128 } |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
129 |
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
130 octave_value_list |
6335 | 131 splice (octave_idx_type offset, octave_idx_type len, |
10313 | 132 const octave_value_list& lst = octave_value_list ()) const; |
3195 | 133 |
2872 | 134 bool all_strings_p (void) const; |
1968 | 135 |
8455
fd11a08a9b31
disallow invalid {}-indexed assigments
Jaroslav Hajek <highegg@gmail.com>
parents:
8437
diff
changeset
|
136 bool all_scalars (void) const; |
fd11a08a9b31
disallow invalid {}-indexed assigments
Jaroslav Hajek <highegg@gmail.com>
parents:
8437
diff
changeset
|
137 |
10086
76df75b10c80
allow more cells in strfind/strrep + supply a general mechanism
Jaroslav Hajek <highegg@gmail.com>
parents:
10075
diff
changeset
|
138 bool any_cell (void) const; |
76df75b10c80
allow more cells in strfind/strrep + supply a general mechanism
Jaroslav Hajek <highegg@gmail.com>
parents:
10075
diff
changeset
|
139 |
5846 | 140 bool has_magic_colon (void) const; |
141 | |
21017
93748bcaec17
maint: Replace emtpy 'std::string ()' calls with "".
Rik <rik@octave.org>
parents:
20940
diff
changeset
|
142 string_vector make_argv (const std::string& = "") const; |
526 | 143 |
2943 | 144 void stash_name_tags (const string_vector& nm) { names = nm; } |
145 | |
146 string_vector name_tags (void) const { return names; } | |
147 | |
8523
ad3afaaa19c1
implement non-copying contiguous range indexing
Jaroslav Hajek <highegg@gmail.com>
parents:
8455
diff
changeset
|
148 void make_storable_values (void); |
8150
283989f2da9b
make null assignment matlab compatible
Jaroslav Hajek <highegg@gmail.com>
parents:
8034
diff
changeset
|
149 |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
150 octave_value& xelem (octave_idx_type i) { return data.xelem (i); } |
10181
a668fbd32e34
improve cellfun & avoid undefined values from builtins
Jaroslav Hajek <highegg@gmail.com>
parents:
10160
diff
changeset
|
151 |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
152 void clear (void) { data.clear (); } |
10181
a668fbd32e34
improve cellfun & avoid undefined values from builtins
Jaroslav Hajek <highegg@gmail.com>
parents:
10160
diff
changeset
|
153 |
526 | 154 private: |
508 | 155 |
8579
7e0f36dfefbe
implement octave_value_list using Array
Jaroslav Hajek <highegg@gmail.com>
parents:
8546
diff
changeset
|
156 Array<octave_value> data; |
2872 | 157 |
20940
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
158 // This list of strings can be used to tag each element of data with a name. |
48b2ad5ee801
maint: Rename oct-obj.[cc|h] to ovl.[cc|h] for clarity.
Rik <rik@octave.org>
parents:
20830
diff
changeset
|
159 // By default, it is empty. |
2943 | 160 string_vector names; |
161 | |
5275 | 162 octave_value& elem (octave_idx_type n) |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
163 { |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
164 if (n >= length ()) |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
165 resize (n + 1); |
4591 | 166 |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
167 return data(n); |
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
168 } |
1968 | 169 |
10075
84b0725f4b09
return class types by reference in const Array element access functions
Jaroslav Hajek <highegg@gmail.com>
parents:
9545
diff
changeset
|
170 const octave_value& elem (octave_idx_type n) const |
17787
175b392e91fe
Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
171 { return data(n); } |
13917
826f008c829b
* oct-obj.h, oct-obj.cc: Use macros to declare and define octave_allocator.
John W. Eaton <jwe@octave.org>
parents:
11586
diff
changeset
|
172 |
508 | 173 }; |
498 | 174 |
22083
c88d2ecb721c
octave_value_list: template constructor to accept any sequence container.
Carnë Draug <carandraug@octave.org>
parents:
22082
diff
changeset
|
175 |
22063
55c20a3e3e59
ovl: new constructor with initializer_list to reduce code duplication.
Carnë Draug <carandraug@octave.org>
parents:
21244
diff
changeset
|
176 //! Construct an octave_value_list with less typing. |
24624
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
177 //! |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
178 //! Historically, this made it easier to create an octave_value_list |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
179 //! from multiple octave_value arguments. It is no longer useful since |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
180 //! octave_value_list has now a constructor accepting an initializer_list |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
181 //! so all it does is save some typing. The following are equivalent: |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
182 //! |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
183 //! @code{.cc} |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
184 //! return octave_value_list ({ov0, ov1, ov2}); |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
185 //! return ovl (ov0, ov1, ov2); |
ce2eb28e0a6d
doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents:
24534
diff
changeset
|
186 //! @endcode |
15420
1249a615c91b
call built-in functions directly in GUI callbacks
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
187 |
22063
55c20a3e3e59
ovl: new constructor with initializer_list to reduce code duplication.
Carnë Draug <carandraug@octave.org>
parents:
21244
diff
changeset
|
188 template<typename... OV_Args> |
15420
1249a615c91b
call built-in functions directly in GUI callbacks
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
189 inline octave_value_list |
22063
55c20a3e3e59
ovl: new constructor with initializer_list to reduce code duplication.
Carnë Draug <carandraug@octave.org>
parents:
21244
diff
changeset
|
190 ovl (const OV_Args&... args) |
15420
1249a615c91b
call built-in functions directly in GUI callbacks
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
191 { |
22082
beac7654c86d
ovl: explicit conversion to appease Apple's clang 7.3.0.
Carnë Draug <carandraug@octave.org>
parents:
22063
diff
changeset
|
192 return octave_value_list (std::initializer_list<octave_value> ({args...})); |
15420
1249a615c91b
call built-in functions directly in GUI callbacks
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
193 } |
1249a615c91b
call built-in functions directly in GUI callbacks
John W. Eaton <jwe@octave.org>
parents:
15195
diff
changeset
|
194 |
504 | 195 #endif |