annotate libinterp/octave-value/ov.h @ 30510:84344af9b019 stable

ov.h: Don't mark definitions in header with visibility flags. * libinterp/octave-value/ov.h (old style octave_value range constructors): Don't mark definitions in header with visibility flags. They will be defined in each compilation unit that includes this header and don't need to (on Windows must not) be exported.
author Markus Mützel <markus.muetzel@gmx.de>
date Sun, 19 Dec 2021 14:36:18 +0100
parents a61e1a0f6024
children 1ec1f93ac16a 796f54d4ddbf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ////////////////////////////////////////////////////////////////////////
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 //
29358
0a5b15007766 update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 28899
diff changeset
3 // Copyright (C) 1996-2021 The Octave Project Developers
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
4 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 // See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 // distribution or <https://octave.org/copyright/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
7 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
8 // This file is part of Octave.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
9 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
10 // Octave is free software: you can redistribute it and/or modify it
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
11 // under the terms of the GNU General Public License as published by
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
12 // the Free Software Foundation, either version 3 of the License, or
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
13 // (at your option) any later version.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
14 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
15 // Octave is distributed in the hope that it will be useful, but
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
18 // GNU General Public License for more details.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
19 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
20 // You should have received a copy of the GNU General Public License
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
21 // along with Octave; see the file COPYING. If not, see
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
22 // <https://www.gnu.org/licenses/>.
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 //
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ////////////////////////////////////////////////////////////////////////
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
25
20791
f7084eae3318 maint: Use Octave coding conventions for #if statements.
Rik <rik@octave.org>
parents: 20768
diff changeset
26 #if ! defined (octave_ov_h)
17822
ebb3ef964372 maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents: 17787
diff changeset
27 #define octave_ov_h 1
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
28
21244
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21139
diff changeset
29 #include "octave-config.h"
1473547f50f5 include octave-config.h in public header files
John W. Eaton <jwe@octave.org>
parents: 21139
diff changeset
30
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
31 #include <cstdlib>
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
32
8950
d865363208d6 include <iosfwd> instead of <iostream> in header files
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
33 #include <iosfwd>
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
34 #include <string>
4219
23d06c9e1edd [project @ 2002-12-06 21:29:17 by jwe]
jwe
parents: 4192
diff changeset
35 #include <list>
29476
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
36 #include <memory>
23678
dcba41788495 new struct/map constructors
John W. Eaton <jwe@octave.org>
parents: 23615
diff changeset
37 #include <map>
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
38
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
39 #include "Range.h"
5828
22e23bee74c8 [project @ 2006-05-23 06:05:14 by jwe]
jwe
parents: 5785
diff changeset
40 #include "data-conv.h"
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
41 #include "idx-vector.h"
5828
22e23bee74c8 [project @ 2006-05-23 06:05:14 by jwe]
jwe
parents: 5785
diff changeset
42 #include "mach-info.h"
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
43 #include "mx-base.h"
23059
b98ebcd7f11c move some octave stream classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
44 #include "oct-sort.h"
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
45 #include "oct-time.h"
2942
026f342c2019 [project @ 1997-05-08 02:20:57 by jwe]
jwe
parents: 2916
diff changeset
46 #include "str-vec.h"
026f342c2019 [project @ 1997-05-08 02:20:57 by jwe]
jwe
parents: 2916
diff changeset
47
29960
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
48 OCTAVE_NAMESPACE_BEGIN
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
49
29476
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
50 class stack_frame;
24540
46440078d73b don't use singleton for octave_value_typeinfo
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
51 class type_info;
29960
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
52
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
53 OCTAVE_NAMESPACE_END
24540
46440078d73b don't use singleton for octave_value_typeinfo
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
54
3351
8623649c967c [project @ 1999-11-15 16:17:01 by jwe]
jwe
parents: 3340
diff changeset
55 class Cell;
24668
d4dd741b2794 new octave_value functions for formatting output
John W. Eaton <jwe@octave.org>
parents: 24643
diff changeset
56 class float_format;
15149
62a35ae7d6a2 use forward decls for mxArray in ov.h and ov-base.h
John W. Eaton <jwe@octave.org>
parents: 15140
diff changeset
57 class mxArray;
10742
604e13a89c7f initial code for structs rewrite
Jaroslav Hajek <highegg@gmail.com>
parents: 10670
diff changeset
58 class octave_map;
604e13a89c7f initial code for structs rewrite
Jaroslav Hajek <highegg@gmail.com>
parents: 10670
diff changeset
59 class octave_scalar_map;
2974
ebbc34ff7f66 [project @ 1997-05-15 19:36:16 by jwe]
jwe
parents: 2963
diff changeset
60 class octave_function;
4700
ca3a1d687bba [project @ 2004-01-21 03:28:31 by jwe]
jwe
parents: 4687
diff changeset
61 class octave_user_function;
4342
813effe14ee1 [project @ 2003-02-20 08:35:55 by jwe]
jwe
parents: 4271
diff changeset
62 class octave_fcn_handle;
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
63 class octave_value_list;
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
64
28123
4963f23b145c move mex type definitions to separate file
John W. Eaton <jwe@octave.org>
parents: 27923
diff changeset
65 #include "mxtypes.h"
4963f23b145c move mex type definitions to separate file
John W. Eaton <jwe@octave.org>
parents: 27923
diff changeset
66
23059
b98ebcd7f11c move some octave stream classes into octave namespace
John W. Eaton <jwe@octave.org>
parents: 22755
diff changeset
67 #include "oct-stream.h"
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
68 #include "ov-base.h"
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
69
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
70 class
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 5958
diff changeset
71 OCTINTERP_API
2974
ebbc34ff7f66 [project @ 1997-05-15 19:36:16 by jwe]
jwe
parents: 2963
diff changeset
72 octave_value
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
73 {
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
74 public:
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
75
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
76 enum unary_op
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
77 {
6518
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
78 op_not, // not
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
79 op_uplus, // uplus
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
80 op_uminus, // uminus
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
81 op_transpose, // transpose
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
82 op_hermitian, // ctranspose
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
83 op_incr,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
84 op_decr,
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
85 num_unary_ops,
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
86 unknown_unary_op
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
87 };
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
88
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
89 enum binary_op
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
90 {
6518
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
91 op_add, // plus
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
92 op_sub, // minus
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
93 op_mul, // mtimes
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
94 op_div, // mrdivide
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
95 op_pow, // mpower
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
96 op_ldiv, // mldivide
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
97 op_lt, // lt
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
98 op_le, // le
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
99 op_eq, // eq
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
100 op_ge, // ge
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
101 op_gt, // gt
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
102 op_ne, // ne
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
103 op_el_mul, // times
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
104 op_el_div, // rdivide
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
105 op_el_pow, // power
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
106 op_el_ldiv, // ldivide
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
107 op_el_and, // and
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
108 op_el_or, // or
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
109 op_struct_ref,
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
110 num_binary_ops,
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
111 unknown_binary_op
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
112 };
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
113
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
114 enum compound_binary_op
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
115 {
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
116 // ** compound operations **
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
117 op_trans_mul,
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
118 op_mul_trans,
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
119 op_herm_mul,
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
120 op_mul_herm,
9661
afcf852256d2 optimize / and '\ for triangular matrices
Jaroslav Hajek <highegg@gmail.com>
parents: 9657
diff changeset
121 op_trans_ldiv,
afcf852256d2 optimize / and '\ for triangular matrices
Jaroslav Hajek <highegg@gmail.com>
parents: 9657
diff changeset
122 op_herm_ldiv,
8982
dc6bda6f9994 implement compound logical ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8960
diff changeset
123 op_el_not_and,
dc6bda6f9994 implement compound logical ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8960
diff changeset
124 op_el_not_or,
dc6bda6f9994 implement compound logical ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8960
diff changeset
125 op_el_and_not,
dc6bda6f9994 implement compound logical ops
Jaroslav Hajek <highegg@gmail.com>
parents: 8960
diff changeset
126 op_el_or_not,
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
127 num_compound_binary_ops,
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
128 unknown_compound_binary_op
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
129 };
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
130
2880
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
131 enum assign_op
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
132 {
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
133 op_asn_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
134 op_add_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
135 op_sub_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
136 op_mul_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
137 op_div_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
138 op_ldiv_eq,
4018
a8621d87fbf5 [project @ 2002-08-05 03:17:25 by jwe]
jwe
parents: 4015
diff changeset
139 op_pow_eq,
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
140 op_el_mul_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
141 op_el_div_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
142 op_el_ldiv_eq,
4018
a8621d87fbf5 [project @ 2002-08-05 03:17:25 by jwe]
jwe
parents: 4015
diff changeset
143 op_el_pow_eq,
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
144 op_el_and_eq,
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
145 op_el_or_eq,
2880
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
146 num_assign_ops,
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
147 unknown_assign_op
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
148 };
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
149
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
150 static OCTINTERP_API binary_op assign_op_to_binary_op (assign_op);
15140
6ea86e1d0f5f Support +=, -=, *=, ect. in JIT
Max Brister <max@2bass.com>
parents: 15057
diff changeset
151
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
152 static OCTINTERP_API assign_op binary_op_to_assign_op (binary_op);
9607
1be3c73ed7b5 reuse temporary arrays in nested expressions
Jaroslav Hajek <highegg@gmail.com>
parents: 9521
diff changeset
153
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
154 static OCTINTERP_API std::string unary_op_as_string (unary_op);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
155 static OCTINTERP_API std::string unary_op_fcn_name (unary_op);
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
156
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
157 static OCTINTERP_API std::string binary_op_as_string (binary_op);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
158 static OCTINTERP_API std::string binary_op_fcn_name (binary_op);
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
159
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
160 static OCTINTERP_API std::string binary_op_fcn_name (compound_binary_op);
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
161
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
162 static OCTINTERP_API std::string assign_op_as_string (assign_op);
2880
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
163
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
164 static OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
165 empty_conv (const std::string& type,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
166 const octave_value& rhs = octave_value ());
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
167
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
168 enum magic_colon { magic_colon_t };
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
169
8992
d12f44a5dce3 implement fast octave_value constructor
Jaroslav Hajek <highegg@gmail.com>
parents: 8982
diff changeset
170 octave_value (void)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
171 : m_rep (nil_rep ())
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
172 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
173 m_rep->count++;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
174 }
8992
d12f44a5dce3 implement fast octave_value constructor
Jaroslav Hajek <highegg@gmail.com>
parents: 8982
diff changeset
175
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
176 OCTINTERP_API octave_value (short int i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
177 OCTINTERP_API octave_value (unsigned short int i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
178 OCTINTERP_API octave_value (int i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
179 OCTINTERP_API octave_value (unsigned int i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
180 OCTINTERP_API octave_value (long int i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
181 OCTINTERP_API octave_value (unsigned long int i);
4353
ea4b8c35ac9d [project @ 2003-02-21 21:04:41 by jwe]
jwe
parents: 4346
diff changeset
182
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
183 // FIXME: These are kluges. They turn into doubles internally, which will
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
184 // break for very large values. We just use them to store things like
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
185 // 64-bit ino_t, etc, and hope that those values are never actually larger
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
186 // than can be represented exactly in a double.
4353
ea4b8c35ac9d [project @ 2003-02-21 21:04:41 by jwe]
jwe
parents: 4346
diff changeset
187
21354
06d15e4e611a move public data type macros to octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21294
diff changeset
188 #if defined (OCTAVE_HAVE_LONG_LONG_INT)
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
189 OCTINTERP_API octave_value (long long int i);
4353
ea4b8c35ac9d [project @ 2003-02-21 21:04:41 by jwe]
jwe
parents: 4346
diff changeset
190 #endif
21354
06d15e4e611a move public data type macros to octave-config.h
John W. Eaton <jwe@octave.org>
parents: 21294
diff changeset
191 #if defined (OCTAVE_HAVE_UNSIGNED_LONG_LONG_INT)
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
192 OCTINTERP_API octave_value (unsigned long long int i);
4353
ea4b8c35ac9d [project @ 2003-02-21 21:04:41 by jwe]
jwe
parents: 4346
diff changeset
193 #endif
ea4b8c35ac9d [project @ 2003-02-21 21:04:41 by jwe]
jwe
parents: 4346
diff changeset
194
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
195 OCTINTERP_API octave_value (octave::sys::time t);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
196 OCTINTERP_API octave_value (double d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
197 OCTINTERP_API octave_value (float d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
198 OCTINTERP_API octave_value (const Array<octave_value>& a,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
199 bool is_cs_list = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
200 OCTINTERP_API octave_value (const Cell& c, bool is_cs_list = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
201 OCTINTERP_API octave_value (const Matrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
202 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
203 OCTINTERP_API octave_value (const FloatMatrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
204 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
205 OCTINTERP_API octave_value (const NDArray& nda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
206 OCTINTERP_API octave_value (const FloatNDArray& nda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
207 OCTINTERP_API octave_value (const Array<double>& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
208 OCTINTERP_API octave_value (const Array<float>& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
209 OCTINTERP_API octave_value (const DiagMatrix& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
210 OCTINTERP_API octave_value (const DiagArray2<double>& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
211 OCTINTERP_API octave_value (const DiagArray2<float>& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
212 OCTINTERP_API octave_value (const DiagArray2<Complex>& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
213 OCTINTERP_API octave_value (const DiagArray2<FloatComplex>& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
214 OCTINTERP_API octave_value (const FloatDiagMatrix& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
215 OCTINTERP_API octave_value (const RowVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
216 OCTINTERP_API octave_value (const FloatRowVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
217 OCTINTERP_API octave_value (const ColumnVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
218 OCTINTERP_API octave_value (const FloatColumnVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
219 OCTINTERP_API octave_value (const Complex& C);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
220 OCTINTERP_API octave_value (const FloatComplex& C);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
221 OCTINTERP_API octave_value (const ComplexMatrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
222 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
223 OCTINTERP_API octave_value (const FloatComplexMatrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
224 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
225 OCTINTERP_API octave_value (const ComplexNDArray& cnda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
226 OCTINTERP_API octave_value (const FloatComplexNDArray& cnda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
227 OCTINTERP_API octave_value (const Array<Complex>& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
228 OCTINTERP_API octave_value (const Array<FloatComplex>& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
229 OCTINTERP_API octave_value (const ComplexDiagMatrix& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
230 OCTINTERP_API octave_value (const FloatComplexDiagMatrix& d);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
231 OCTINTERP_API octave_value (const ComplexRowVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
232 OCTINTERP_API octave_value (const FloatComplexRowVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
233 OCTINTERP_API octave_value (const ComplexColumnVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
234 OCTINTERP_API octave_value (const FloatComplexColumnVector& v);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
235 OCTINTERP_API octave_value (const PermMatrix& p);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
236 OCTINTERP_API octave_value (bool b);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
237 OCTINTERP_API octave_value (const boolMatrix& bm,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
238 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
239 OCTINTERP_API octave_value (const boolNDArray& bnda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
240 OCTINTERP_API octave_value (const Array<bool>& bnda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
241 OCTINTERP_API octave_value (char c, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
242 OCTINTERP_API octave_value (const char *s, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
243 OCTINTERP_API octave_value (const std::string& s, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
244 OCTINTERP_API octave_value (const string_vector& s, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
245 OCTINTERP_API octave_value (const charMatrix& chm, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
246 OCTINTERP_API octave_value (const charNDArray& chnda, char type = '\'');
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
247 OCTINTERP_API octave_value (const Array<char>& chnda, char type = '\'');
21134
2e5c1f766ac9 provide replacement hints for deprecated C++ functions
John W. Eaton <jwe@octave.org>
parents: 21076
diff changeset
248
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
249 OCTINTERP_API octave_value (const SparseMatrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
250 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
251 OCTINTERP_API octave_value (const Sparse<double>& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
252 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
253 OCTINTERP_API octave_value (const SparseComplexMatrix& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
254 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
255 OCTINTERP_API octave_value (const Sparse<Complex>& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
256 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
257 OCTINTERP_API octave_value (const SparseBoolMatrix& bm,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
258 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
259 OCTINTERP_API octave_value (const Sparse<bool>& m,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
260 const MatrixType& t = MatrixType ());
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
261 OCTINTERP_API octave_value (const octave_int8& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
262 OCTINTERP_API octave_value (const octave_int16& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
263 OCTINTERP_API octave_value (const octave_int32& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
264 OCTINTERP_API octave_value (const octave_int64& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
265 OCTINTERP_API octave_value (const octave_uint8& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
266 OCTINTERP_API octave_value (const octave_uint16& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
267 OCTINTERP_API octave_value (const octave_uint32& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
268 OCTINTERP_API octave_value (const octave_uint64& i);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
269 OCTINTERP_API octave_value (const int8NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
270 OCTINTERP_API octave_value (const Array<octave_int8>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
271 OCTINTERP_API octave_value (const int16NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
272 OCTINTERP_API octave_value (const Array<octave_int16>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
273 OCTINTERP_API octave_value (const int32NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
274 OCTINTERP_API octave_value (const Array<octave_int32>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
275 OCTINTERP_API octave_value (const int64NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
276 OCTINTERP_API octave_value (const Array<octave_int64>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
277 OCTINTERP_API octave_value (const uint8NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
278 OCTINTERP_API octave_value (const Array<octave_uint8>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
279 OCTINTERP_API octave_value (const uint16NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
280 OCTINTERP_API octave_value (const Array<octave_uint16>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
281 OCTINTERP_API octave_value (const uint32NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
282 OCTINTERP_API octave_value (const Array<octave_uint32>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
283 OCTINTERP_API octave_value (const uint64NDArray& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
284 OCTINTERP_API octave_value (const Array<octave_uint64>& inda);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
285 OCTINTERP_API octave_value (const Array<octave_idx_type>& inda,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
286 bool zero_based = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
287 bool cache_index = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
288 OCTINTERP_API octave_value (const Array<std::string>& cellstr);
29569
29a1f8fd8ee6 move idx_vector classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 29478
diff changeset
289 OCTINTERP_API octave_value (const octave::idx_vector& idx, bool lazy = true);
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
290
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
291 private:
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
292
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
293 // Remove when public constructors that use this function are removed.
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
294 static OCTINTERP_API octave_base_value *
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
295 make_range_rep_deprecated (double base, double inc, double limit);
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
296
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
297 // Remove when public constructors that use this function are removed.
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
298 static OCTINTERP_API octave_base_value *
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
299 make_range_rep_deprecated (const Range& r, bool force_range);
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
300
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
301 public:
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
302
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
303 #if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
28638
98192ec1621f replace Range with range<double>
John W. Eaton <jwe@octave.org>
parents: 28633
diff changeset
304 OCTAVE_DEPRECATED (7, "use 'octave_value (range<double>&)' instead")
30510
84344af9b019 ov.h: Don't mark definitions in header with visibility flags.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30390
diff changeset
305 octave_value (double base, double limit, double inc)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
306 : m_rep (make_range_rep_deprecated (base, inc, limit))
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
307 {
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
308 maybe_mutate ();
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
309 }
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
310
28638
98192ec1621f replace Range with range<double>
John W. Eaton <jwe@octave.org>
parents: 28633
diff changeset
311 OCTAVE_DEPRECATED (7, "use 'octave_value (range<double>&)' instead")
30510
84344af9b019 ov.h: Don't mark definitions in header with visibility flags.
Markus Mützel <markus.muetzel@gmx.de>
parents: 30390
diff changeset
312 octave_value (const Range& r, bool force_range = false)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
313 : m_rep (make_range_rep_deprecated (r, force_range))
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
314 {
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
315 maybe_mutate ();
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
316 }
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
317 #endif
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
318
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
319 OCTINTERP_API octave_value (const octave::range<char>& r, char type,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
320 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
321 OCTINTERP_API octave_value (const octave::range<float>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
322 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
323 OCTINTERP_API octave_value (const octave::range<double>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
324 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
325 OCTINTERP_API octave_value (const octave::range<octave_int8>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
326 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
327 OCTINTERP_API octave_value (const octave::range<octave_int16>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
328 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
329 OCTINTERP_API octave_value (const octave::range<octave_int32>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
330 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
331 OCTINTERP_API octave_value (const octave::range<octave_int64>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
332 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
333 OCTINTERP_API octave_value (const octave::range<octave_uint8>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
334 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
335 OCTINTERP_API octave_value (const octave::range<octave_uint16>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
336 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
337 OCTINTERP_API octave_value (const octave::range<octave_uint32>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
338 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
339 OCTINTERP_API octave_value (const octave::range<octave_uint64>& r,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
340 bool force_range = false);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
341 OCTINTERP_API octave_value (const octave_map& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
342 OCTINTERP_API octave_value (const octave_scalar_map& m);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
343 OCTINTERP_API octave_value (const std::map<std::string, octave_value>&);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
344 OCTINTERP_API octave_value (const octave_map& m, const std::string& id,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
345 const std::list<std::string>& plist);
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
346 OCTINTERP_API octave_value (const octave_scalar_map& m, const std::string& id,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
347 const std::list<std::string>& plist);
23352
778fdffc09df deprecate "octave_value (octave_value_list, bool)" constructor
John W. Eaton <jwe@octave.org>
parents: 23220
diff changeset
348
23913
062ce545b21e mark octave_value from octave_value_list constructor explicit
John W. Eaton <jwe@octave.org>
parents: 23881
diff changeset
349 // This one is explicit because it can cause some trouble to
062ce545b21e mark octave_value from octave_value_list constructor explicit
John W. Eaton <jwe@octave.org>
parents: 23881
diff changeset
350 // accidentally create a cs-list when one was not intended.
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
351 explicit OCTINTERP_API octave_value (const octave_value_list& m);
23352
778fdffc09df deprecate "octave_value (octave_value_list, bool)" constructor
John W. Eaton <jwe@octave.org>
parents: 23220
diff changeset
352
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
353 OCTINTERP_API octave_value (octave_value::magic_colon);
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
354
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
355 OCTINTERP_API octave_value (octave_base_value *new_rep, bool borrow = false);
21134
2e5c1f766ac9 provide replacement hints for deprecated C++ functions
John W. Eaton <jwe@octave.org>
parents: 21076
diff changeset
356
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
357 // Copy constructor.
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
358
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
359 octave_value (const octave_value& a)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
360 : m_rep (a.m_rep)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
361 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
362 m_rep->count++;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
363 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
364
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
365 octave_value (octave_value&& a)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
366 : m_rep (a.m_rep)
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
367 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
368 a.m_rep = nullptr;
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
369 }
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
370
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
371 // This should only be called for derived types.
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
372
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
373 OCTINTERP_API octave_base_value * clone (void) const;
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
374
23446
cd4e1ee28716 maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents: 23433
diff changeset
375 octave_base_value * empty_clone (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
376 { return m_rep->empty_clone (); }
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
377
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
378 // Delete the representation of this constant if the count drops to zero.
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
379
6338
ec88b4ab6d10 [project @ 2007-02-22 07:07:19 by jwe]
jwe
parents: 6223
diff changeset
380 ~octave_value (void)
ec88b4ab6d10 [project @ 2007-02-22 07:07:19 by jwe]
jwe
parents: 6223
diff changeset
381 {
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
382 // Because we define a move constructor and a move assignment
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
383 // operator, rep may be a nullptr here. We should only need to
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
384 // protect the move assignment operator in a similar way.
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
385
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
386 if (m_rep && --m_rep->count == 0 && m_rep != nil_rep ())
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
387 delete m_rep;
6338
ec88b4ab6d10 [project @ 2007-02-22 07:07:19 by jwe]
jwe
parents: 6223
diff changeset
388 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
389
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
390 void make_unique (void)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
391 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
392 if (m_rep->count > 1)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
393 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
394 octave_base_value *r = m_rep->unique_clone ();
13985
43cc49c7abd1 Use thread-safe atomic reference counting (GCC and MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13874
diff changeset
395
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
396 if (--m_rep->count == 0 && m_rep != nil_rep ())
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
397 delete m_rep;
13985
43cc49c7abd1 Use thread-safe atomic reference counting (GCC and MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13874
diff changeset
398
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
399 m_rep = r;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
400 }
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
401 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
402
8546
3d8a914c580e improve parser indexed assigment code
Jaroslav Hajek <highegg@gmail.com>
parents: 8531
diff changeset
403 // This uniquifies the value if it is referenced by more than a certain
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
404 // number of shallow copies. This is useful for optimizations where we
8546
3d8a914c580e improve parser indexed assigment code
Jaroslav Hajek <highegg@gmail.com>
parents: 8531
diff changeset
405 // know a certain copy, typically within a cell array, to be obsolete.
3d8a914c580e improve parser indexed assigment code
Jaroslav Hajek <highegg@gmail.com>
parents: 8531
diff changeset
406 void make_unique (int obsolete_copies)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
407 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
408 if (m_rep->count > obsolete_copies + 1)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
409 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
410 octave_base_value *r = m_rep->unique_clone ();
13985
43cc49c7abd1 Use thread-safe atomic reference counting (GCC and MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13874
diff changeset
411
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
412 if (--m_rep->count == 0 && m_rep != nil_rep ())
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
413 delete m_rep;
13985
43cc49c7abd1 Use thread-safe atomic reference counting (GCC and MSVC).
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13874
diff changeset
414
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
415 m_rep = r;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
416 }
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
417 }
8546
3d8a914c580e improve parser indexed assigment code
Jaroslav Hajek <highegg@gmail.com>
parents: 8531
diff changeset
418
29476
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
419 // Convert any nested function handles in this object to use weak
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
420 // references to their enclosing stack frame context. Used to break
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
421 // shared_ptr reference cycles for handles to nested functions
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
422 // (closures).
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
423 void break_closure_cycles (const std::shared_ptr<octave::stack_frame>&);
c74ff452e2bb avoid memory leaks when returning handles to nested functions
John W. Eaton <jwe@octave.org>
parents: 29358
diff changeset
424
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
425 // Simple assignment.
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
426
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
427 octave_value& operator = (const octave_value& a)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
428 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
429 if (m_rep != a.m_rep)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
430 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
431 if (--m_rep->count == 0 && m_rep != nil_rep ())
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
432 delete m_rep;
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
433
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
434 m_rep = a.m_rep;
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
435 m_rep->count++;
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
436 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
437
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
438 return *this;
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
439 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
440
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
441 octave_value& operator = (octave_value&& a)
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
442 {
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
443 // Because we define a move constructor and a move assignment
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
444 // operator, rep may be a nullptr here. We should only need to
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
445 // protect the destructor in a similar way.
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
446
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
447 if (this != &a)
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
448 {
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
449 if (m_rep && --m_rep->count == 0 && m_rep != nil_rep ())
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
450 delete m_rep;
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
451
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
452 m_rep = a.m_rep;
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
453 a.m_rep = nullptr;
27352
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
454 }
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
455
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
456 return *this;
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
457 }
7335ebd4c798 define some move constructors and assignment operators
John W. Eaton <jwe@octave.org>
parents: 27216
diff changeset
458
30139
c789e728d57a Backed out changeset 938794bc82b7
John W. Eaton <jwe@octave.org>
parents: 30133
diff changeset
459 octave_idx_type get_count (void) const { return m_rep->count; }
3239
d54ef0aa6e82 [project @ 1999-03-27 17:40:45 by jwe]
jwe
parents: 3219
diff changeset
460
8345
c777f3ce02d8 smarter conversion lookup
Jaroslav Hajek <highegg@gmail.com>
parents: 8150
diff changeset
461 octave_base_value::type_conv_info numeric_conversion_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
462 { return m_rep->numeric_conversion_function (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
463
8345
c777f3ce02d8 smarter conversion lookup
Jaroslav Hajek <highegg@gmail.com>
parents: 8150
diff changeset
464 octave_base_value::type_conv_info numeric_demotion_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
465 { return m_rep->numeric_demotion_function (); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
466
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
467 OCTINTERP_API void maybe_mutate (void);
2409
47e5f57fb4bd [project @ 1996-10-15 16:44:26 by jwe]
jwe
parents: 2376
diff changeset
468
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
469 octave_value squeeze (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
470 { return m_rep->squeeze (); }
4532
01ee68d18069 [project @ 2003-10-10 00:49:54 by jwe]
jwe
parents: 4513
diff changeset
471
8458
d254a21e0120 reimplement full as method of octave_base_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8456
diff changeset
472 // The result of full().
d254a21e0120 reimplement full as method of octave_base_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8456
diff changeset
473 octave_value full_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
474 { return m_rep->full_value (); }
8458
d254a21e0120 reimplement full as method of octave_base_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8456
diff changeset
475
22283
564203123065 move single and double type conversion functions to ov.cc
John W. Eaton <jwe@octave.org>
parents: 22197
diff changeset
476 // Type conversions.
564203123065 move single and double type conversion functions to ov.cc
John W. Eaton <jwe@octave.org>
parents: 22197
diff changeset
477
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
478 octave_value as_double (void) const { return m_rep->as_double (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
479 octave_value as_single (void) const { return m_rep->as_single (); }
22296
8b18f46f6427 revamp double, single, int type conversions
John W. Eaton <jwe@octave.org>
parents: 22283
diff changeset
480
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
481 octave_value as_int8 (void) const { return m_rep->as_int8 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
482 octave_value as_int16 (void) const { return m_rep->as_int16 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
483 octave_value as_int32 (void) const { return m_rep->as_int32 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
484 octave_value as_int64 (void) const { return m_rep->as_int64 (); }
22296
8b18f46f6427 revamp double, single, int type conversions
John W. Eaton <jwe@octave.org>
parents: 22283
diff changeset
485
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
486 octave_value as_uint8 (void) const { return m_rep->as_uint8 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
487 octave_value as_uint16 (void) const { return m_rep->as_uint16 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
488 octave_value as_uint32 (void) const { return m_rep->as_uint32 (); }
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
489 octave_value as_uint64 (void) const { return m_rep->as_uint64 (); }
22283
564203123065 move single and double type conversion functions to ov.cc
John W. Eaton <jwe@octave.org>
parents: 22197
diff changeset
490
23446
cd4e1ee28716 maint: Use convention 'void * fcn ()' for functions which return pointers.
Rik <rik@octave.org>
parents: 23433
diff changeset
491 octave_base_value * try_narrowing_conversion (void)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
492 { return m_rep->try_narrowing_conversion (); }
2409
47e5f57fb4bd [project @ 1996-10-15 16:44:26 by jwe]
jwe
parents: 2376
diff changeset
493
9329
67fc970dad7d improve indexed assignment using indexed numel
Jaroslav Hajek <highegg@gmail.com>
parents: 9151
diff changeset
494 // Close to dims (), but can be overloaded for classes.
67fc970dad7d improve indexed assignment using indexed numel
Jaroslav Hajek <highegg@gmail.com>
parents: 9151
diff changeset
495 Matrix size (void)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
496 { return m_rep->size (); }
9329
67fc970dad7d improve indexed assignment using indexed numel
Jaroslav Hajek <highegg@gmail.com>
parents: 9151
diff changeset
497
26922
072d0610cc56 avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26916
diff changeset
498 // FIXME: should this function be deprecated and removed? It supports
072d0610cc56 avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26916
diff changeset
499 // an undocumented feature of Matlab.
072d0610cc56 avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26916
diff changeset
500 octave_idx_type xnumel (const octave_value_list& idx)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
501 { return m_rep->xnumel (idx); }
9329
67fc970dad7d improve indexed assignment using indexed numel
Jaroslav Hajek <highegg@gmail.com>
parents: 9151
diff changeset
502
26916
9cd4b045fe3d avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26655
diff changeset
503 // FIXME: Do we really need all these different versions of subsref
9cd4b045fe3d avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26655
diff changeset
504 // and related functions?
9cd4b045fe3d avoid some overloaded virtual warnings (bug #55741)
John W. Eaton <jwe@octave.org>
parents: 26655
diff changeset
505
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
506 OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
507 single_subsref (const std::string& type, const octave_value_list& idx);
4271
be631c1720ea [project @ 2003-01-03 19:36:04 by jwe]
jwe
parents: 4257
diff changeset
508
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
509 octave_value subsref (const std::string& type,
8551
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
510 const std::list<octave_value_list>& idx)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
511 { return m_rep->subsref (type, idx); }
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
512
8551
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
513 octave_value subsref (const std::string& type,
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
514 const std::list<octave_value_list>& idx,
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
515 bool auto_add)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
516 { return m_rep->subsref (type, idx, auto_add); }
8551
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
517
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
518 OCTINTERP_API octave_value_list
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
519 subsref (const std::string& type, const std::list<octave_value_list>& idx,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
520 int nargout);
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
521
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
522 OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
523 next_subsref (const std::string& type,
29572
aef11bb4e6d1 use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
John W. Eaton <jwe@octave.org>
parents: 29569
diff changeset
524 const std::list<octave_value_list>& idx, std::size_t skip = 1);
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
525
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
526 OCTINTERP_API octave_value_list
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
527 next_subsref (int nargout, const std::string& type,
29572
aef11bb4e6d1 use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
John W. Eaton <jwe@octave.org>
parents: 29569
diff changeset
528 const std::list<octave_value_list>& idx, std::size_t skip = 1);
4994
48d0defe9445 [project @ 2004-09-15 20:31:31 by jwe]
jwe
parents: 4970
diff changeset
529
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
530 OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
531 next_subsref (bool auto_add, const std::string& type,
29572
aef11bb4e6d1 use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
John W. Eaton <jwe@octave.org>
parents: 29569
diff changeset
532 const std::list<octave_value_list>& idx, std::size_t skip = 1);
8551
906f976d35a8 further improve struct&cell indexing & indexed assignment
Jaroslav Hajek <highegg@gmail.com>
parents: 8546
diff changeset
533
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
534 octave_value index_op (const octave_value_list& idx, bool resize_ok = false)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
535 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
536 return m_rep->do_index_op (idx, resize_ok);
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
537 }
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
538
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
539 #if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
540 OCTAVE_DEPRECATED (7, "use 'octave_value::index_op' instead")
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
541 octave_value do_index_op (const octave_value_list& idx,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10293
diff changeset
542 bool resize_ok = false)
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
543 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
544 return index_op (idx, resize_ok);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
545 }
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
546 #endif
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
547
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
548 OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
549 subsasgn (const std::string& type, const std::list<octave_value_list>& idx,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
550 const octave_value& rhs);
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
551
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
552 OCTINTERP_API octave_value
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
553 undef_subsasgn (const std::string& type,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
554 const std::list<octave_value_list>& idx,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
555 const octave_value& rhs);
12171
d08901c05c1b fix bug in class assignment to undefined object with index
John W. Eaton <jwe@octave.org>
parents: 11586
diff changeset
556
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
557 OCTINTERP_API octave_value&
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
558 assign (assign_op op, const std::string& type,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
559 const std::list<octave_value_list>& idx, const octave_value& rhs);
2948
56be458e237f [project @ 1997-05-09 13:37:35 by jwe]
jwe
parents: 2942
diff changeset
560
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
561 OCTINTERP_API octave_value& assign (assign_op, const octave_value& rhs);
2948
56be458e237f [project @ 1997-05-09 13:37:35 by jwe]
jwe
parents: 2942
diff changeset
562
29569
29a1f8fd8ee6 move idx_vector classes inside octave namespace
John W. Eaton <jwe@octave.org>
parents: 29478
diff changeset
563 octave::idx_vector index_vector (bool require_integers = false) const
18130
e473c4853afc enable non-integer ranges as indices by default and deprecate preference
John W. Eaton <jwe@octave.org>
parents: 17870
diff changeset
564 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
565 return m_rep->index_vector (require_integers);
18130
e473c4853afc enable non-integer ranges as indices by default and deprecate preference
John W. Eaton <jwe@octave.org>
parents: 17870
diff changeset
566 }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
567
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
568 // Size.
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
569
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
570 dim_vector dims (void) const { return m_rep->dims (); }
26078
0549d088f50e move get_dims_str from variables.cc to octave_value class
John W. Eaton <jwe@octave.org>
parents: 25054
diff changeset
571
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
572 OCTINTERP_API std::string get_dims_str (void) const;
4513
508238e65af7 [project @ 2003-09-19 21:40:57 by jwe]
jwe
parents: 4507
diff changeset
573
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
574 octave_idx_type rows (void) const { return m_rep->rows (); }
4563
742993a501b9 [project @ 2003-10-29 06:25:12 by jwe]
jwe
parents: 4559
diff changeset
575
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
576 octave_idx_type columns (void) const { return m_rep->columns (); }
3195
7a5a5da64756 [project @ 1998-10-28 22:54:04 by jwe]
jwe
parents: 3189
diff changeset
577
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
578 OCTINTERP_API octave_idx_type length (void) const;
4554
78e34346f6fd [project @ 2003-10-27 22:01:49 by jwe]
jwe
parents: 4550
diff changeset
579
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
580 int ndims (void) const { return m_rep->ndims (); }
4563
742993a501b9 [project @ 2003-10-29 06:25:12 by jwe]
jwe
parents: 4559
diff changeset
581
14846
460a3c6d8bf1 maint: Use Octave coding convention for cuddled parenthis in function calls with empty argument lists.
Rik <octave@nomad.inbox5.com>
parents: 14770
diff changeset
582 bool all_zero_dims (void) const { return dims ().all_zero (); }
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5147
diff changeset
583
23590
eb3c7abad98f ov.h: Directly call replacement functions from deprecated functions.
Rik <rik@octave.org>
parents: 23589
diff changeset
584 // Are the dimensions of this constant zero by zero?
eb3c7abad98f ov.h: Directly call replacement functions from deprecated functions.
Rik <rik@octave.org>
parents: 23589
diff changeset
585 bool is_zero_by_zero (void) const
eb3c7abad98f ov.h: Directly call replacement functions from deprecated functions.
Rik <rik@octave.org>
parents: 23589
diff changeset
586 { return (ndims () == 2 && rows () == 0 && columns () == 0); }
eb3c7abad98f ov.h: Directly call replacement functions from deprecated functions.
Rik <rik@octave.org>
parents: 23589
diff changeset
587
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
588 octave_idx_type numel (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
589 { return m_rep->numel (); }
4559
802818bfac91 [project @ 2003-10-28 19:13:43 by jwe]
jwe
parents: 4554
diff changeset
590
29654
d13d090cb03a use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
John W. Eaton <jwe@octave.org>
parents: 29476
diff changeset
591 std::size_t byte_size (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
592 { return m_rep->byte_size (); }
4791
62f2fb593455 [project @ 2004-02-20 18:02:59 by jwe]
jwe
parents: 4700
diff changeset
593
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
594 octave_idx_type nnz (void) const { return m_rep->nnz (); }
5602
dfa2da0563e5 [project @ 2006-01-31 03:43:40 by jwe]
jwe
parents: 5508
diff changeset
595
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
596 octave_idx_type nzmax (void) const { return m_rep->nzmax (); }
5604
2857357f9d3c [project @ 2006-01-31 18:22:59 by jwe]
jwe
parents: 5602
diff changeset
597
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
598 octave_idx_type nfields (void) const { return m_rep->nfields (); }
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
599
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
600 octave_value reshape (const dim_vector& dv) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
601 { return m_rep->reshape (dv); }
4567
fc30061d01da [project @ 2003-10-29 20:11:15 by jwe]
jwe
parents: 4563
diff changeset
602
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
603 octave_value permute (const Array<int>& vec, bool inv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
604 { return m_rep->permute (vec, inv); }
4593
77566be8b9e9 [project @ 2003-11-11 17:25:42 by jwe]
jwe
parents: 4587
diff changeset
605
77566be8b9e9 [project @ 2003-11-11 17:25:42 by jwe]
jwe
parents: 4587
diff changeset
606 octave_value ipermute (const Array<int>& vec) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
607 { return m_rep->permute (vec, true); }
4593
77566be8b9e9 [project @ 2003-11-11 17:25:42 by jwe]
jwe
parents: 4587
diff changeset
608
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
609 octave_value resize (const dim_vector& dv, bool fill = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
610 { return m_rep->resize (dv, fill);}
4915
c638c144d4da [project @ 2004-07-23 19:01:22 by jwe]
jwe
parents: 4911
diff changeset
611
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5781
diff changeset
612 MatrixType matrix_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
613 { return m_rep->matrix_type (); }
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5781
diff changeset
614
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5781
diff changeset
615 MatrixType matrix_type (const MatrixType& typ) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
616 { return m_rep->matrix_type (typ); }
5785
6b9cec830d72 [project @ 2006-05-03 19:32:46 by dbateman]
dbateman
parents: 5781
diff changeset
617
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
618 // Does this constant have a type? Both of these are provided since it is
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
619 // sometimes more natural to write is_undefined() instead of ! is_defined().
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
620
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
621 bool is_defined (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
622 { return m_rep->is_defined (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
623
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
624 bool is_undefined (void) const
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
625 { return ! is_defined (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
626
23577
80c42f4cca13 maint: Deprecate is_empty and replace with isempty.
Rik <rik@octave.org>
parents: 23576
diff changeset
627 bool isempty (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
628 { return m_rep->isempty (); }
23577
80c42f4cca13 maint: Deprecate is_empty and replace with isempty.
Rik <rik@octave.org>
parents: 23576
diff changeset
629
23576
00e518162fda maint: Deprecate is_cell and replace with iscell.
Rik <rik@octave.org>
parents: 23575
diff changeset
630 bool iscell (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
631 { return m_rep->iscell (); }
23576
00e518162fda maint: Deprecate is_cell and replace with iscell.
Rik <rik@octave.org>
parents: 23575
diff changeset
632
23575
e95738a119da maint: Deprecate is_cellstr and replace with iscellstr.
Rik <rik@octave.org>
parents: 23502
diff changeset
633 bool iscellstr (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
634 { return m_rep->iscellstr (); }
23575
e95738a119da maint: Deprecate is_cellstr and replace with iscellstr.
Rik <rik@octave.org>
parents: 23502
diff changeset
635
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
636 bool is_real_scalar (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
637 { return m_rep->is_real_scalar (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
638
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
639 bool is_real_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
640 { return m_rep->is_real_matrix (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
641
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
642 bool is_complex_scalar (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
643 { return m_rep->is_complex_scalar (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
644
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
645 bool is_complex_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
646 { return m_rep->is_complex_matrix (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
647
5881
70b3f8f1a793 [project @ 2006-07-08 03:54:17 by jwe]
jwe
parents: 5864
diff changeset
648 bool is_bool_scalar (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
649 { return m_rep->is_bool_scalar (); }
5881
70b3f8f1a793 [project @ 2006-07-08 03:54:17 by jwe]
jwe
parents: 5864
diff changeset
650
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
651 bool is_bool_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
652 { return m_rep->is_bool_matrix (); }
4587
7b957b442818 [project @ 2003-11-10 15:50:39 by jwe]
jwe
parents: 4567
diff changeset
653
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
654 bool is_char_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
655 { return m_rep->is_char_matrix (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
656
8366
8b1a2555c4e2 implement diagonal matrix objects
Jaroslav Hajek <highegg@gmail.com>
parents: 8346
diff changeset
657 bool is_diag_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
658 { return m_rep->is_diag_matrix (); }
8366
8b1a2555c4e2 implement diagonal matrix objects
Jaroslav Hajek <highegg@gmail.com>
parents: 8346
diff changeset
659
8371
c3f7e2549abb make det & inv aware of diagonal & permutation matrices
Jaroslav Hajek <highegg@gmail.com>
parents: 8367
diff changeset
660 bool is_perm_matrix (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
661 { return m_rep->is_perm_matrix (); }
8371
c3f7e2549abb make det & inv aware of diagonal & permutation matrices
Jaroslav Hajek <highegg@gmail.com>
parents: 8367
diff changeset
662
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
663 bool is_string (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
664 { return m_rep->is_string (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
665
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
666 bool is_sq_string (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
667 { return m_rep->is_sq_string (); }
5279
bd32f770c09a [project @ 2005-04-12 21:55:31 by jwe]
jwe
parents: 5275
diff changeset
668
5280
25c12c80ccc3 [project @ 2005-04-14 19:19:45 by jwe]
jwe
parents: 5279
diff changeset
669 bool is_dq_string (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
670 { return m_rep->is_string () && ! m_rep->is_sq_string (); }
5280
25c12c80ccc3 [project @ 2005-04-14 19:19:45 by jwe]
jwe
parents: 5279
diff changeset
671
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
672 bool is_range (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
673 { return m_rep->is_range (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
674
23584
7ed6b258db91 maint: Deprecate is_map and replace with isstruct.
Rik <rik@octave.org>
parents: 23583
diff changeset
675 bool isstruct (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
676 { return m_rep->isstruct (); }
23584
7ed6b258db91 maint: Deprecate is_map and replace with isstruct.
Rik <rik@octave.org>
parents: 23583
diff changeset
677
23683
ffd27f53fc79 make +package function calls work again (bug #51295, #51296)
John W. Eaton <jwe@octave.org>
parents: 23680
diff changeset
678 bool is_classdef_meta (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
679 { return m_rep->is_classdef_meta (); }
23683
ffd27f53fc79 make +package function calls work again (bug #51295, #51296)
John W. Eaton <jwe@octave.org>
parents: 23680
diff changeset
680
19110
fa48651fbb8a isstruct for classdef objects should not return true.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 19103
diff changeset
681 bool is_classdef_object (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
682 { return m_rep->is_classdef_object (); }
23843
a52eb3f210af maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 23838
diff changeset
683
23865
d56c18dc1373 new predicates for classdef_superclass_ref objects
John W. Eaton <jwe@octave.org>
parents: 23843
diff changeset
684 bool is_classdef_superclass_ref (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
685 { return m_rep->is_classdef_superclass_ref (); }
23865
d56c18dc1373 new predicates for classdef_superclass_ref objects
John W. Eaton <jwe@octave.org>
parents: 23843
diff changeset
686
23838
6e0fd7e3c262 Fix argument lookup in '+' package functions (Bug #51532).
Piotr Held <pjheld@gmail.com>
parents: 23683
diff changeset
687 bool is_package (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
688 { return m_rep->is_package (); }
19110
fa48651fbb8a isstruct for classdef objects should not return true.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 19103
diff changeset
689
23587
0c468af9dc00 maint: Deprecate is_object and replace with isobject.
Rik <rik@octave.org>
parents: 23586
diff changeset
690 bool isobject (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
691 { return m_rep->isobject (); }
23587
0c468af9dc00 maint: Deprecate is_object and replace with isobject.
Rik <rik@octave.org>
parents: 23586
diff changeset
692
23578
7b47b7c2d6c7 maint: Deprecate is_java and replace with isjava.
Rik <rik@octave.org>
parents: 23577
diff changeset
693 bool isjava (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
694 { return m_rep->isjava (); }
23578
7b47b7c2d6c7 maint: Deprecate is_java and replace with isjava.
Rik <rik@octave.org>
parents: 23577
diff changeset
695
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
696 bool is_cs_list (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
697 { return m_rep->is_cs_list (); }
3977
95663a3a2682 [project @ 2002-07-05 17:43:37 by jwe]
jwe
parents: 3933
diff changeset
698
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
699 bool is_magic_colon (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
700 { return m_rep->is_magic_colon (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
701
28588
ee9b1081471f allow integer constants > flintmax to be represented exactly (bug #45945)
John W. Eaton <jwe@octave.org>
parents: 28444
diff changeset
702 bool is_magic_int (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
703 { return m_rep->is_magic_int (); }
28588
ee9b1081471f allow integer constants > flintmax to be represented exactly (bug #45945)
John W. Eaton <jwe@octave.org>
parents: 28444
diff changeset
704
23589
63950abd2f81 maint: Deprecate is_null_type and replace with isnull.
Rik <rik@octave.org>
parents: 23588
diff changeset
705 bool isnull (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
706 { return m_rep->isnull (); }
23589
63950abd2f81 maint: Deprecate is_null_type and replace with isnull.
Rik <rik@octave.org>
parents: 23588
diff changeset
707
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
708 // Are any or all of the elements in this constant nonzero?
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
709
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
710 octave_value all (int dim = 0) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
711 { return m_rep->all (dim); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
712
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
713 octave_value any (int dim = 0) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
714 { return m_rep->any (dim); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
715
9685
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
716 builtin_type_t builtin_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
717 { return m_rep->builtin_type (); }
9685
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
718
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
719 // Floating point types.
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
720
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
721 bool is_double_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
722 { return m_rep->is_double_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
723
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
724 bool is_single_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
725 { return m_rep->is_single_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
726
23585
570170b6eb09 maint: Deprecate is_float_type and replace with isfloat.
Rik <rik@octave.org>
parents: 23584
diff changeset
727 bool isfloat (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
728 { return m_rep->isfloat (); }
23585
570170b6eb09 maint: Deprecate is_float_type and replace with isfloat.
Rik <rik@octave.org>
parents: 23584
diff changeset
729
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
730 // Integer types.
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
731
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
732 bool is_int8_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
733 { return m_rep->is_int8_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
734
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
735 bool is_int16_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
736 { return m_rep->is_int16_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
737
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
738 bool is_int32_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
739 { return m_rep->is_int32_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
740
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
741 bool is_int64_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
742 { return m_rep->is_int64_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
743
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
744 bool is_uint8_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
745 { return m_rep->is_uint8_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
746
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
747 bool is_uint16_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
748 { return m_rep->is_uint16_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
749
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
750 bool is_uint32_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
751 { return m_rep->is_uint32_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
752
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
753 bool is_uint64_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
754 { return m_rep->is_uint64_type (); }
5895
b9c45e0cf685 [project @ 2006-07-19 01:57:44 by jwe]
jwe
parents: 5885
diff changeset
755
23586
f6c5db0a02e7 maint: Deprecate is_numeric_type and replace with isnumeric.
Rik <rik@octave.org>
parents: 23585
diff changeset
756 bool isinteger (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
757 { return m_rep->isinteger (); }
23586
f6c5db0a02e7 maint: Deprecate is_numeric_type and replace with isnumeric.
Rik <rik@octave.org>
parents: 23585
diff changeset
758
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
759 // Other type stuff.
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
760
23579
c20a0fa91c0c maint: Deprecate is_bool_type and replace with islogical.
Rik <rik@octave.org>
parents: 23578
diff changeset
761 bool islogical (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
762 { return m_rep->islogical (); }
23579
c20a0fa91c0c maint: Deprecate is_bool_type and replace with islogical.
Rik <rik@octave.org>
parents: 23578
diff changeset
763
23582
0cc2011d800e maint: Deprecate is_real_type and replace with isreal.
Rik <rik@octave.org>
parents: 23581
diff changeset
764 bool isreal (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
765 { return m_rep->isreal (); }
23582
0cc2011d800e maint: Deprecate is_real_type and replace with isreal.
Rik <rik@octave.org>
parents: 23581
diff changeset
766
23581
c3075ae020e1 maint: Deprecate is_complex_type and replace with iscomplex.
Rik <rik@octave.org>
parents: 23580
diff changeset
767 bool iscomplex (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
768 { return m_rep->iscomplex (); }
23581
c3075ae020e1 maint: Deprecate is_complex_type and replace with iscomplex.
Rik <rik@octave.org>
parents: 23580
diff changeset
769
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
770 bool is_scalar_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
771 { return m_rep->is_scalar_type (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
772
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
773 bool is_matrix_type (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
774 { return m_rep->is_matrix_type (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
775
23586
f6c5db0a02e7 maint: Deprecate is_numeric_type and replace with isnumeric.
Rik <rik@octave.org>
parents: 23585
diff changeset
776 bool isnumeric (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
777 { return m_rep->isnumeric (); }
23586
f6c5db0a02e7 maint: Deprecate is_numeric_type and replace with isnumeric.
Rik <rik@octave.org>
parents: 23585
diff changeset
778
23583
b7747a2c88b2 maint: Deprecate is_sparse_type and replace with issparse.
Rik <rik@octave.org>
parents: 23582
diff changeset
779 bool issparse (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
780 { return m_rep->issparse (); }
23583
b7747a2c88b2 maint: Deprecate is_sparse_type and replace with issparse.
Rik <rik@octave.org>
parents: 23582
diff changeset
781
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
782 // Does this constant correspond to a truth value?
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
783
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
784 bool is_true (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
785 { return m_rep->is_true (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
786
8346
8302788f09db fix empty matrix handling in switch statement
Jaroslav Hajek <highegg@gmail.com>
parents: 8345
diff changeset
787 // Do two constants match (in a switch statement)?
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
788
8346
8302788f09db fix empty matrix handling in switch statement
Jaroslav Hajek <highegg@gmail.com>
parents: 8345
diff changeset
789 bool is_equal (const octave_value&) const;
8302788f09db fix empty matrix handling in switch statement
Jaroslav Hajek <highegg@gmail.com>
parents: 8345
diff changeset
790
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
791 bool is_constant (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
792 { return m_rep->is_constant (); }
2974
ebbc34ff7f66 [project @ 1997-05-15 19:36:16 by jwe]
jwe
parents: 2963
diff changeset
793
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
794 bool is_function_handle (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
795 { return m_rep->is_function_handle (); }
4654
a9b22513b7a6 [project @ 2003-11-24 18:56:35 by jwe]
jwe
parents: 4645
diff changeset
796
13241
2a8dcb5b3a00 improve default indexing for objects
John W. Eaton <jwe@octave.org>
parents: 13110
diff changeset
797 bool is_anonymous_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
798 { return m_rep->is_anonymous_function (); }
13241
2a8dcb5b3a00 improve default indexing for objects
John W. Eaton <jwe@octave.org>
parents: 13110
diff changeset
799
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
800 bool is_inline_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
801 { return m_rep->is_inline_function (); }
4954
ed0f3cb6d3d4 [project @ 2004-09-01 21:24:53 by jwe]
jwe
parents: 4946
diff changeset
802
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
803 bool is_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
804 { return m_rep->is_function (); }
2891
1a30f46e1870 [project @ 1997-04-28 01:49:00 by jwe]
jwe
parents: 2880
diff changeset
805
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7064
diff changeset
806 bool is_user_script (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
807 { return m_rep->is_user_script (); }
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7064
diff changeset
808
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7064
diff changeset
809 bool is_user_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
810 { return m_rep->is_user_function (); }
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7064
diff changeset
811
7719
87eda1f8faaa octave_user_code: new base class for octave_user_script and octave_user_function
John W. Eaton <jwe@octave.org>
parents: 7638
diff changeset
812 bool is_user_code (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
813 { return m_rep->is_user_code (); }
7719
87eda1f8faaa octave_user_code: new base class for octave_user_script and octave_user_function
John W. Eaton <jwe@octave.org>
parents: 7638
diff changeset
814
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
815 bool is_builtin_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
816 { return m_rep->is_builtin_function (); }
3325
2efa28a91e7a [project @ 1999-10-29 21:39:20 by jwe]
jwe
parents: 3301
diff changeset
817
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
818 bool is_dld_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
819 { return m_rep->is_dld_function (); }
3325
2efa28a91e7a [project @ 1999-10-29 21:39:20 by jwe]
jwe
parents: 3301
diff changeset
820
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5848
diff changeset
821 bool is_mex_function (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
822 { return m_rep->is_mex_function (); }
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5848
diff changeset
823
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
824 void erase_subfunctions (void) { m_rep->erase_subfunctions (); }
7876
8447a5024650 clear subfunctions when clearing parent function
John W. Eaton <jwe@octave.org>
parents: 7800
diff changeset
825
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
826 // Values.
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
827
2891
1a30f46e1870 [project @ 1997-04-28 01:49:00 by jwe]
jwe
parents: 2880
diff changeset
828 octave_value eval (void) { return *this; }
1a30f46e1870 [project @ 1997-04-28 01:49:00 by jwe]
jwe
parents: 2880
diff changeset
829
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
830 short int
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
831 short_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
832 { return m_rep->short_value (req_int, frc_str_conv); }
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
833
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
834 unsigned short int
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
835 ushort_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
836 { return m_rep->ushort_value (req_int, frc_str_conv); }
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
837
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
838 int int_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
839 { return m_rep->int_value (req_int, frc_str_conv); }
3202
44d82b369c78 [project @ 1998-10-29 20:27:57 by jwe]
jwe
parents: 3195
diff changeset
840
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
841 unsigned int
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
842 uint_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
843 { return m_rep->uint_value (req_int, frc_str_conv); }
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
844
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
845 int nint_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
846 { return m_rep->nint_value (frc_str_conv); }
3202
44d82b369c78 [project @ 1998-10-29 20:27:57 by jwe]
jwe
parents: 3195
diff changeset
847
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
848 long int
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
849 long_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
850 { return m_rep->long_value (req_int, frc_str_conv); }
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
851
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
852 unsigned long int
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
853 ulong_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
854 { return m_rep->ulong_value (req_int, frc_str_conv); }
4254
df5f2e433a11 [project @ 2002-12-31 19:43:07 by jwe]
jwe
parents: 4252
diff changeset
855
16323
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
856 int64_t
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
857 int64_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
858 { return m_rep->int64_value (req_int, frc_str_conv); }
16323
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
859
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
860 uint64_t
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
861 uint64_value (bool req_int = false, bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
862 { return m_rep->uint64_value (req_int, frc_str_conv); }
16323
e769440b39db provide int64 extractors for octave_value class
John W. Eaton <jwe@octave.org>
parents: 16091
diff changeset
863
6133
e0065af38cf4 [project @ 2006-11-02 03:33:50 by jwe]
jwe
parents: 6116
diff changeset
864 octave_idx_type
8017
260294a5520f octave_value::idx_type_value: move definition to ov.cc from ov.h
John W. Eaton <jwe@octave.org>
parents: 7885
diff changeset
865 idx_type_value (bool req_int = false, bool frc_str_conv = false) const;
6133
e0065af38cf4 [project @ 2006-11-02 03:33:50 by jwe]
jwe
parents: 6116
diff changeset
866
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
867 double double_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
868 { return m_rep->double_value (frc_str_conv); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
869
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
870 float float_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
871 { return m_rep->float_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
872
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
873 double scalar_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
874 { return m_rep->scalar_value (frc_str_conv); }
2916
4e7bea116f24 [project @ 1997-04-30 20:56:31 by jwe]
jwe
parents: 2909
diff changeset
875
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
876 float float_scalar_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
877 { return m_rep->float_scalar_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
878
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
879 Matrix matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
880 { return m_rep->matrix_value (frc_str_conv); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
881
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
882 FloatMatrix float_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
883 { return m_rep->float_matrix_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
884
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
885 NDArray array_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
886 { return m_rep->array_value (frc_str_conv); }
4505
e944fbe3fff2 [project @ 2003-09-09 19:14:06 by jwe]
jwe
parents: 4478
diff changeset
887
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
888 FloatNDArray float_array_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
889 { return m_rep->float_array_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
890
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
891 Complex complex_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
892 { return m_rep->complex_value (frc_str_conv); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
893
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
894 FloatComplex float_complex_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
895 { return m_rep->float_complex_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
896
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
897 ComplexMatrix complex_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
898 { return m_rep->complex_matrix_value (frc_str_conv); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
899
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
900 FloatComplexMatrix
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
901 float_complex_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
902 { return m_rep->float_complex_matrix_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
903
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
904 ComplexNDArray complex_array_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
905 { return m_rep->complex_array_value (frc_str_conv); }
4550
69a9b22a72a2 [project @ 2003-10-27 15:41:55 by jwe]
jwe
parents: 4532
diff changeset
906
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
907 FloatComplexNDArray
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
908 float_complex_array_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
909 { return m_rep->float_complex_array_value (frc_str_conv); }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
910
5943
c038c2947ee1 [project @ 2006-08-18 21:27:03 by jwe]
jwe
parents: 5900
diff changeset
911 bool bool_value (bool warn = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
912 { return m_rep->bool_value (warn); }
4550
69a9b22a72a2 [project @ 2003-10-27 15:41:55 by jwe]
jwe
parents: 4532
diff changeset
913
5943
c038c2947ee1 [project @ 2006-08-18 21:27:03 by jwe]
jwe
parents: 5900
diff changeset
914 boolMatrix bool_matrix_value (bool warn = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
915 { return m_rep->bool_matrix_value (warn); }
4550
69a9b22a72a2 [project @ 2003-10-27 15:41:55 by jwe]
jwe
parents: 4532
diff changeset
916
5943
c038c2947ee1 [project @ 2006-08-18 21:27:03 by jwe]
jwe
parents: 5900
diff changeset
917 boolNDArray bool_array_value (bool warn = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
918 { return m_rep->bool_array_value (warn); }
4550
69a9b22a72a2 [project @ 2003-10-27 15:41:55 by jwe]
jwe
parents: 4532
diff changeset
919
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
920 charMatrix char_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
921 { return m_rep->char_matrix_value (frc_str_conv); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
922
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
923 charNDArray char_array_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
924 { return m_rep->char_array_value (frc_str_conv); }
4550
69a9b22a72a2 [project @ 2003-10-27 15:41:55 by jwe]
jwe
parents: 4532
diff changeset
925
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
926 SparseMatrix sparse_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
927 { return m_rep->sparse_matrix_value (frc_str_conv); }
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5147
diff changeset
928
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
929 SparseComplexMatrix
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
930 sparse_complex_matrix_value (bool frc_str_conv = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
931 { return m_rep->sparse_complex_matrix_value (frc_str_conv); }
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5147
diff changeset
932
9852
aabf7a8c2e57 implement sparse logical conversion
Jaroslav Hajek <highegg@gmail.com>
parents: 9835
diff changeset
933 SparseBoolMatrix sparse_bool_matrix_value (bool warn = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
934 { return m_rep->sparse_bool_matrix_value (warn); }
5164
57077d0ddc8e [project @ 2005-02-25 19:55:24 by jwe]
jwe
parents: 5147
diff changeset
935
8916
a2878ba31a9e add diag & perm matrix query methods to octave_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8811
diff changeset
936 DiagMatrix diag_matrix_value (bool force = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
937 { return m_rep->diag_matrix_value (force); }
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
938
8916
a2878ba31a9e add diag & perm matrix query methods to octave_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8811
diff changeset
939 FloatDiagMatrix float_diag_matrix_value (bool force = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
940 { return m_rep->float_diag_matrix_value (force); }
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
941
8916
a2878ba31a9e add diag & perm matrix query methods to octave_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8811
diff changeset
942 ComplexDiagMatrix complex_diag_matrix_value (bool force = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
943 { return m_rep->complex_diag_matrix_value (force); }
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
944
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
945 FloatComplexDiagMatrix
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
946 float_complex_diag_matrix_value (bool force = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
947 { return m_rep->float_complex_diag_matrix_value (force); }
8916
a2878ba31a9e add diag & perm matrix query methods to octave_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8811
diff changeset
948
a2878ba31a9e add diag & perm matrix query methods to octave_value
Jaroslav Hajek <highegg@gmail.com>
parents: 8811
diff changeset
949 PermMatrix perm_matrix_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
950 { return m_rep->perm_matrix_value (); }
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
951
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
952 octave_int8 int8_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
953 { return m_rep->int8_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
954
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
955 octave_int16 int16_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
956 { return m_rep->int16_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
957
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
958 octave_int32 int32_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
959 { return m_rep->int32_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
960
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
961 octave_int64 int64_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
962 { return m_rep->int64_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
963
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
964 octave_uint8 uint8_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
965 { return m_rep->uint8_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
966
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
967 octave_uint16 uint16_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
968 { return m_rep->uint16_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
969
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
970 octave_uint32 uint32_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
971 { return m_rep->uint32_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
972
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
973 octave_uint64 uint64_scalar_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
974 { return m_rep->uint64_scalar_value (); }
4910
1242acab4246 [project @ 2004-07-12 17:14:13 by jwe]
jwe
parents: 4906
diff changeset
975
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
976 int8NDArray int8_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
977 { return m_rep->int8_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
978
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
979 int16NDArray int16_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
980 { return m_rep->int16_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
981
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
982 int32NDArray int32_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
983 { return m_rep->int32_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
984
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
985 int64NDArray int64_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
986 { return m_rep->int64_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
987
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
988 uint8NDArray uint8_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
989 { return m_rep->uint8_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
990
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
991 uint16NDArray uint16_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
992 { return m_rep->uint16_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
993
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
994 uint32NDArray uint32_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
995 { return m_rep->uint32_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
996
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
997 uint64NDArray uint64_array_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
998 { return m_rep->uint64_array_value (); }
4906
6754342ef7ad [project @ 2004-06-23 11:11:50 by jwe]
jwe
parents: 4901
diff changeset
999
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1000 std::string string_value (bool force = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1001 { return m_rep->string_value (force); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1002
20990
fc9cca99b2de Deprecate all_strings, replace with string_vector_value.
Rik <rik@octave.org>
parents: 20791
diff changeset
1003 string_vector string_vector_value (bool pad = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1004 { return m_rep->string_vector_value (pad); }
20990
fc9cca99b2de Deprecate all_strings, replace with string_vector_value.
Rik <rik@octave.org>
parents: 20791
diff changeset
1005
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1006 Cell cell_value (void) const;
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1007
8732
a669df7beb73 [mq]: x
John W. Eaton <jwe@octave.org>
parents: 8721
diff changeset
1008 Array<std::string> cellstr_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1009 { return m_rep->cellstr_value (); }
8732
a669df7beb73 [mq]: x
John W. Eaton <jwe@octave.org>
parents: 8721
diff changeset
1010
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1011 octave::range<float> float_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1012 { return m_rep->float_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1013
28638
98192ec1621f replace Range with range<double>
John W. Eaton <jwe@octave.org>
parents: 28633
diff changeset
1014 octave::range<double> range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1015 { return m_rep->range_value (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1016
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1017 octave::range<octave_int8> int8_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1018 { return m_rep->int8_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1019
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1020 octave::range<octave_int16> int16_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1021 { return m_rep->int16_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1022
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1023 octave::range<octave_int32> int32_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1024 { return m_rep->int32_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1025
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1026 octave::range<octave_int64> int64_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1027 { return m_rep->int64_range_value (); }
10742
604e13a89c7f initial code for structs rewrite
Jaroslav Hajek <highegg@gmail.com>
parents: 10670
diff changeset
1028
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1029 octave::range<octave_uint8> uint8_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1030 { return m_rep->uint8_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1031
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1032 octave::range<octave_uint16> uint16_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1033 { return m_rep->uint16_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1034
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1035 octave::range<octave_uint32> uint32_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1036 { return m_rep->uint32_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1037
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1038 octave::range<octave_uint64> uint64_range_value (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1039 { return m_rep->uint64_range_value (); }
28646
e26201931ea3 new template class for octave_range objects
John W. Eaton <jwe@octave.org>
parents: 28639
diff changeset
1040
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1041 OCTINTERP_API octave_map map_value (void) const;
10742
604e13a89c7f initial code for structs rewrite
Jaroslav Hajek <highegg@gmail.com>
parents: 10670
diff changeset
1042
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1043 OCTINTERP_API octave_scalar_map scalar_map_value (void) const;
10742
604e13a89c7f initial code for structs rewrite
Jaroslav Hajek <highegg@gmail.com>
parents: 10670
diff changeset
1044
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1045 string_vector map_keys (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1046 { return m_rep->map_keys (); }
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
1047
29654
d13d090cb03a use std::size_t and std::ptrdiff_t in C++ code (bug #60471)
John W. Eaton <jwe@octave.org>
parents: 29476
diff changeset
1048 std::size_t nparents (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1049 { return m_rep->nparents (); }
9151
d8f9588c6ba1 object exemplars
John W. Eaton <jwe@octave.org>
parents: 9010
diff changeset
1050
d8f9588c6ba1 object exemplars
John W. Eaton <jwe@octave.org>
parents: 9010
diff changeset
1051 std::list<std::string> parent_class_name_list (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1052 { return m_rep->parent_class_name_list (); }
9151
d8f9588c6ba1 object exemplars
John W. Eaton <jwe@octave.org>
parents: 9010
diff changeset
1053
9010
f914834836e7 Partial implementation of derived classes using the old form with "@" files.
rtshort@smoketree.phaselocked.com
parents: 8992
diff changeset
1054 string_vector parent_class_names (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1055 { return m_rep->parent_class_names (); }
9010
f914834836e7 Partial implementation of derived classes using the old form with "@" files.
rtshort@smoketree.phaselocked.com
parents: 8992
diff changeset
1056
f914834836e7 Partial implementation of derived classes using the old form with "@" files.
rtshort@smoketree.phaselocked.com
parents: 8992
diff changeset
1057 octave_base_value *
f914834836e7 Partial implementation of derived classes using the old form with "@" files.
rtshort@smoketree.phaselocked.com
parents: 8992
diff changeset
1058 find_parent_class (const std::string& parent_class_name)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1059 { return m_rep->find_parent_class (parent_class_name); }
9010
f914834836e7 Partial implementation of derived classes using the old form with "@" files.
rtshort@smoketree.phaselocked.com
parents: 8992
diff changeset
1060
19103
56bc1464ec59 Implement "isa" for classdef objects.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 18416
diff changeset
1061 bool is_instance_of (const std::string& cls_name) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1062 { return m_rep->is_instance_of (cls_name); }
19103
56bc1464ec59 Implement "isa" for classdef objects.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 18416
diff changeset
1063
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1064 OCTINTERP_API octave_classdef *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1065 classdef_object_value (bool silent = false) const;
23881
5aec653c88e7 new function for accessing classdef objects
John W. Eaton <jwe@octave.org>
parents: 23865
diff changeset
1066
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1067 OCTINTERP_API octave_function *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1068 function_value (bool silent = false) const;
2974
ebbc34ff7f66 [project @ 1997-05-15 19:36:16 by jwe]
jwe
parents: 2963
diff changeset
1069
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1070 OCTINTERP_API octave_user_function *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1071 user_function_value (bool silent = false) const;
7761
5adeea5de26c symbol table reporting functions
John W. Eaton <jwe@octave.org>
parents: 7740
diff changeset
1072
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1073 OCTINTERP_API octave_user_script *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1074 user_script_value (bool silent = false) const;
4700
ca3a1d687bba [project @ 2004-01-21 03:28:31 by jwe]
jwe
parents: 4687
diff changeset
1075
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1076 OCTINTERP_API octave_user_code * user_code_value (bool silent = false) const;
7719
87eda1f8faaa octave_user_code: new base class for octave_user_script and octave_user_function
John W. Eaton <jwe@octave.org>
parents: 7638
diff changeset
1077
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1078 OCTINTERP_API octave_fcn_handle *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1079 fcn_handle_value (bool silent = false) const;
4343
db5e0814277a [project @ 2003-02-20 16:44:16 by jwe]
jwe
parents: 4342
diff changeset
1080
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1081 OCTINTERP_API octave_value_list list_value (void) const;
2880
0a076230ca87 [project @ 1997-04-24 09:47:41 by jwe]
jwe
parents: 2847
diff changeset
1082
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1083 OCTINTERP_API ColumnVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1084 column_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1085 bool frc_vec_conv = false) const;
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1086
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1087 OCTINTERP_API ComplexColumnVector
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1088 complex_column_vector_value (bool frc_str_conv = false,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1089 bool frc_vec_conv = false) const;
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1090
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1091 OCTINTERP_API RowVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1092 row_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1093 bool frc_vec_conv = false) const;
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1094
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1095 OCTINTERP_API ComplexRowVector
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1096 complex_row_vector_value (bool frc_str_conv = false,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10293
diff changeset
1097 bool frc_vec_conv = false) const;
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1098
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1099 OCTINTERP_API FloatColumnVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1100 float_column_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1101 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1102
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1103 OCTINTERP_API FloatComplexColumnVector
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1104 float_complex_column_vector_value (bool frc_str_conv = false,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1105 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1106
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1107 OCTINTERP_API FloatRowVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1108 float_row_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1109 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1110
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1111 OCTINTERP_API FloatComplexRowVector
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1112 float_complex_row_vector_value (bool frc_str_conv = false,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1113 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1114
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1115 OCTINTERP_API Array<int>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1116 int_vector_value (bool req_int = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1117 bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1118 bool frc_vec_conv = false) const;
4044
9678c5526190 [project @ 2002-08-15 16:54:55 by jwe]
jwe
parents: 4018
diff changeset
1119
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1120 OCTINTERP_API Array<octave_idx_type>
8811
20dfb885f877 int -> octave_idx fixes
John W. Eaton <jwe@octave.org>
parents: 8734
diff changeset
1121 octave_idx_type_vector_value (bool req_int = false,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10293
diff changeset
1122 bool frc_str_conv = false,
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10293
diff changeset
1123 bool frc_vec_conv = false) const;
8811
20dfb885f877 int -> octave_idx fixes
John W. Eaton <jwe@octave.org>
parents: 8734
diff changeset
1124
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1125 OCTINTERP_API Array<double>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1126 vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1127 bool frc_vec_conv = false) const;
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1128
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1129 OCTINTERP_API Array<Complex>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1130 complex_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1131 bool frc_vec_conv = false) const;
3419
e71b3d1dd327 [project @ 2000-01-12 05:23:34 by jwe]
jwe
parents: 3418
diff changeset
1132
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1133 OCTINTERP_API Array<float>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1134 float_vector_value (bool frc_str_conv = false,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1135 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1136
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1137 OCTINTERP_API Array<FloatComplex>
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1138 float_complex_vector_value (bool frc_str_conv = false,
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1139 bool frc_vec_conv = false) const;
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7761
diff changeset
1140
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1141 // Extract values of specific types without any implicit type conversions.
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1142 // Throw an error if an object is the wrong type for the requested value
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1143 // extraction.
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20696
diff changeset
1144 //
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1145 // These functions are intended to provide a simple way to extract values of
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1146 // specific types and display error messages that are more meaningful than
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1147 // the generic "error: wrong type argument 'cell'" message.
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20696
diff changeset
1148
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1149 OCTINTERP_API short int xshort_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1150
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1151 OCTINTERP_API unsigned short int xushort_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1152
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1153 OCTINTERP_API int xint_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1154
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1155 OCTINTERP_API unsigned int xuint_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1156
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1157 OCTINTERP_API int xnint_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1158
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1159 OCTINTERP_API long int xlong_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1160
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1161 OCTINTERP_API unsigned long int xulong_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1162
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1163 OCTINTERP_API int64_t xint64_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1164
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1165 OCTINTERP_API uint64_t xuint64_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1166
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1167 OCTINTERP_API octave_idx_type xidx_type_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1168
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1169 OCTINTERP_API double xdouble_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1170
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1171 OCTINTERP_API float xfloat_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1172
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1173 OCTINTERP_API double xscalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1174
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1175 OCTINTERP_API float xfloat_scalar_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1176
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1177 OCTINTERP_API Matrix xmatrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1178
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1179 OCTINTERP_API FloatMatrix xfloat_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1180
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1181 OCTINTERP_API NDArray xarray_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1182
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1183 OCTINTERP_API FloatNDArray xfloat_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1184
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1185 OCTINTERP_API Complex xcomplex_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1186
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1187 OCTINTERP_API FloatComplex xfloat_complex_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1188
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1189 OCTINTERP_API ComplexMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1190 xcomplex_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1191
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1192 OCTINTERP_API FloatComplexMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1193 xfloat_complex_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1194
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1195 OCTINTERP_API ComplexNDArray
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1196 xcomplex_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1197
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1198 OCTINTERP_API FloatComplexNDArray
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1199 xfloat_complex_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1200
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1201 OCTINTERP_API bool xbool_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1202
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1203 OCTINTERP_API boolMatrix xbool_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1204
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1205 OCTINTERP_API boolNDArray xbool_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1206
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1207 OCTINTERP_API charMatrix xchar_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1208
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1209 OCTINTERP_API charNDArray xchar_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1210
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1211 OCTINTERP_API SparseMatrix xsparse_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1212
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1213 OCTINTERP_API SparseComplexMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1214 xsparse_complex_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1215
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1216 OCTINTERP_API SparseBoolMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1217 xsparse_bool_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1218
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1219 OCTINTERP_API DiagMatrix xdiag_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1220
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1221 OCTINTERP_API FloatDiagMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1222 xfloat_diag_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1223
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1224 OCTINTERP_API ComplexDiagMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1225 xcomplex_diag_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1226
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1227 OCTINTERP_API FloatComplexDiagMatrix
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1228 xfloat_complex_diag_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1229
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1230 OCTINTERP_API PermMatrix xperm_matrix_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1231
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1232 OCTINTERP_API octave_int8 xint8_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1233
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1234 OCTINTERP_API octave_int16 xint16_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1235
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1236 OCTINTERP_API octave_int32 xint32_scalar_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1237
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1238 OCTINTERP_API octave_int64 xint64_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1239
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1240 OCTINTERP_API octave_uint8 xuint8_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1241
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1242 OCTINTERP_API octave_uint16 xuint16_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1243
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1244 OCTINTERP_API octave_uint32 xuint32_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1245
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1246 OCTINTERP_API octave_uint64 xuint64_scalar_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1247
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1248 OCTINTERP_API int8NDArray xint8_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1249
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1250 OCTINTERP_API int16NDArray xint16_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1251
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1252 OCTINTERP_API int32NDArray xint32_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1253
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1254 OCTINTERP_API int64NDArray xint64_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1255
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1256 OCTINTERP_API uint8NDArray xuint8_array_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1257
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1258 OCTINTERP_API uint16NDArray xuint16_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1259
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1260 OCTINTERP_API uint32NDArray xuint32_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1261
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1262 OCTINTERP_API uint64NDArray xuint64_array_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1263
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1264 OCTINTERP_API std::string xstring_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1265
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1266 OCTINTERP_API string_vector xstring_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1267
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1268 OCTINTERP_API Cell xcell_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1269
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1270 OCTINTERP_API Array<std::string> xcellstr_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1271
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1272 OCTINTERP_API octave::range<float>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1273 xfloat_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1274
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1275 OCTINTERP_API octave::range<double>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1276 xrange_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1277
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1278 OCTINTERP_API octave::range<octave_int8>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1279 xint8_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1280
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1281 OCTINTERP_API octave::range<octave_int16>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1282 xint16_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1283
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1284 OCTINTERP_API octave::range<octave_int32>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1285 xint32_range_value (const char *fmt, ...) const;
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20696
diff changeset
1286
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1287 OCTINTERP_API octave::range<octave_int64>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1288 xint64_range_value (const char *fmt, ...) const;
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20696
diff changeset
1289
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1290 OCTINTERP_API octave::range<octave_uint8>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1291 xuint8_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1292
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1293 OCTINTERP_API octave::range<octave_uint16>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1294 xuint16_range_value (const char *fmt, ...) const;
20700
68e3a747ca02 rename octave_value value extractors that accept error message args
John W. Eaton <jwe@octave.org>
parents: 20696
diff changeset
1295
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1296 OCTINTERP_API octave::range<octave_uint32>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1297 xuint32_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1298
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1299 OCTINTERP_API octave::range<octave_uint64>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1300 xuint64_range_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1301
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1302 OCTINTERP_API octave_map xmap_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1303
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1304 OCTINTERP_API octave_scalar_map
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1305 xscalar_map_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1306
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1307 OCTINTERP_API ColumnVector xcolumn_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1308
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1309 OCTINTERP_API ComplexColumnVector
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1310 xcomplex_column_vector_value (const char *fmt, ...) const;
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1311
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1312 OCTINTERP_API RowVector xrow_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1313
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1314 OCTINTERP_API ComplexRowVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1315 xcomplex_row_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1316
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1317 OCTINTERP_API FloatColumnVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1318 xfloat_column_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1319
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1320 OCTINTERP_API FloatComplexColumnVector
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1321 xfloat_complex_column_vector_value (const char *fmt, ...) const;
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1322
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1323 OCTINTERP_API FloatRowVector
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1324 xfloat_row_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1325
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1326 OCTINTERP_API FloatComplexRowVector
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1327 xfloat_complex_row_vector_value (const char *fmt, ...) const;
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1328
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1329 OCTINTERP_API Array<int> xint_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1330
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1331 OCTINTERP_API Array<octave_idx_type>
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1332 xoctave_idx_type_vector_value (const char *fmt, ...) const;
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1333
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1334 OCTINTERP_API Array<double> xvector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1335
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1336 OCTINTERP_API Array<Complex>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1337 xcomplex_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1338
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1339 OCTINTERP_API Array<float> xfloat_vector_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1340
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1341 OCTINTERP_API Array<FloatComplex>
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1342 xfloat_complex_vector_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1343
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1344 OCTINTERP_API octave_function * xfunction_value (const char *fmt, ...) const;
20703
85e5efae848a eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20700
diff changeset
1345
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1346 OCTINTERP_API octave_user_function *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1347 xuser_function_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1348
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1349 OCTINTERP_API octave_user_script *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1350 xuser_script_value (const char *fmt, ...) const;
20741
a5ab31b52ae8 eliminate more uses of error_state
John W. Eaton <jwe@octave.org>
parents: 20704
diff changeset
1351
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1352 OCTINTERP_API octave_user_code *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1353 xuser_code_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1354
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1355 OCTINTERP_API octave_fcn_handle *
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1356 xfcn_handle_value (const char *fmt, ...) const;
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1357
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1358 OCTINTERP_API octave_value_list xlist_value (const char *fmt, ...) const;
20768
7655b399abff eliminate trailing whitespace in source files we maintain
John W. Eaton <jwe@octave.org>
parents: 20741
diff changeset
1359
8523
ad3afaaa19c1 implement non-copying contiguous range indexing
Jaroslav Hajek <highegg@gmail.com>
parents: 8458
diff changeset
1360 // Possibly economize a lazy-indexed value.
8150
283989f2da9b make null assignment matlab compatible
Jaroslav Hajek <highegg@gmail.com>
parents: 8017
diff changeset
1361
8523
ad3afaaa19c1 implement non-copying contiguous range indexing
Jaroslav Hajek <highegg@gmail.com>
parents: 8458
diff changeset
1362 void maybe_economize (void)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1363 { m_rep->maybe_economize (); }
8523
ad3afaaa19c1 implement non-copying contiguous range indexing
Jaroslav Hajek <highegg@gmail.com>
parents: 8458
diff changeset
1364
8531
b01fef323c24 add some explaining comments
Jaroslav Hajek <highegg@gmail.com>
parents: 8523
diff changeset
1365 // The following two hook conversions are called on any octave_value prior to
b01fef323c24 add some explaining comments
Jaroslav Hajek <highegg@gmail.com>
parents: 8523
diff changeset
1366 // storing it to a "permanent" location, like a named variable, a cell or a
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
1367 // struct component, or a return value of a function.
8523
ad3afaaa19c1 implement non-copying contiguous range indexing
Jaroslav Hajek <highegg@gmail.com>
parents: 8458
diff changeset
1368
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1369 OCTINTERP_API octave_value storable_value (void) const;
8150
283989f2da9b make null assignment matlab compatible
Jaroslav Hajek <highegg@gmail.com>
parents: 8017
diff changeset
1370
21751
b571fc85953f maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents: 21739
diff changeset
1371 // Ditto, but in place, i.e., equivalent to *this = this->storable_value (),
8531
b01fef323c24 add some explaining comments
Jaroslav Hajek <highegg@gmail.com>
parents: 8523
diff changeset
1372 // but possibly more efficient.
8150
283989f2da9b make null assignment matlab compatible
Jaroslav Hajek <highegg@gmail.com>
parents: 8017
diff changeset
1373
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1374 OCTINTERP_API void make_storable_value (void);
8150
283989f2da9b make null assignment matlab compatible
Jaroslav Hajek <highegg@gmail.com>
parents: 8017
diff changeset
1375
21076
b433f9990452 strip trailing whitespace from files
John W. Eaton <jwe@octave.org>
parents: 21040
diff changeset
1376 // FIXME: These should probably be private.
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1377 // Conversions. If a user of this class wants a certain kind of constant,
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1378 // he should simply ask for it, and we should convert it if possible.
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1379
5279
bd32f770c09a [project @ 2005-04-12 21:55:31 by jwe]
jwe
parents: 5275
diff changeset
1380 octave_value convert_to_str (bool pad = false, bool force = false,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10293
diff changeset
1381 char type = '\'') const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1382 { return m_rep->convert_to_str (pad, force, type); }
4452
f3c21a1d1c62 [project @ 2003-07-09 23:20:18 by jwe]
jwe
parents: 4451
diff changeset
1383
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1384 octave_value
5279
bd32f770c09a [project @ 2005-04-12 21:55:31 by jwe]
jwe
parents: 5275
diff changeset
1385 convert_to_str_internal (bool pad, bool force, char type) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1386 { return m_rep->convert_to_str_internal (pad, force, type); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1387
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1388 void convert_to_row_or_column_vector (void)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1389 { m_rep->convert_to_row_or_column_vector (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1390
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1391 bool print_as_scalar (void) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1392 { return m_rep->print_as_scalar (); }
4604
cba347c642e2 [project @ 2003-11-13 04:38:05 by jwe]
jwe
parents: 4593
diff changeset
1393
18416
bcd71a2531d3 Support disp/display overloading in classdef
Michael Goffioul <michael.goffioul@gmail.com>
parents: 18402
diff changeset
1394 void print (std::ostream& os, bool pr_as_read_syntax = false)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1395 { m_rep->print (os, pr_as_read_syntax); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1396
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1397 void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1398 { m_rep->print_raw (os, pr_as_read_syntax); }
2903
facd9d10e5c1 [project @ 1997-04-30 03:53:07 by jwe]
jwe
parents: 2891
diff changeset
1399
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1400 bool print_name_tag (std::ostream& os, const std::string& name) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1401 { return m_rep->print_name_tag (os, name); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1402
13110
2d5035847529 Add Júlio Hoffimann Mendes to contributors.in
John W. Eaton <jwe@octave.org>
parents: 12171
diff changeset
1403 void print_with_name (std::ostream& os, const std::string& name) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1404 { m_rep->print_with_name (os, name, true); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1405
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1406 void short_disp (std::ostream& os) const { m_rep->short_disp (os); }
16468
0f143f68078d use signal/slot for updating workspace instead of using event listener
John W. Eaton <jwe@octave.org>
parents: 16323
diff changeset
1407
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1408 OCTINTERP_API float_display_format get_edit_display_format (void) const;
24668
d4dd741b2794 new octave_value functions for formatting output
John W. Eaton <jwe@octave.org>
parents: 24643
diff changeset
1409
d4dd741b2794 new octave_value functions for formatting output
John W. Eaton <jwe@octave.org>
parents: 24643
diff changeset
1410 std::string edit_display (const float_display_format& fmt,
d4dd741b2794 new octave_value functions for formatting output
John W. Eaton <jwe@octave.org>
parents: 24643
diff changeset
1411 octave_idx_type i, octave_idx_type j) const
24643
78aff6f14227 more variable editor improvements; allow more variable types to be edited
John W. Eaton <jwe@octave.org>
parents: 24624
diff changeset
1412 {
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1413 return m_rep->edit_display (fmt, i, j);
24643
78aff6f14227 more variable editor improvements; allow more variable types to be edited
John W. Eaton <jwe@octave.org>
parents: 24624
diff changeset
1414 }
78aff6f14227 more variable editor improvements; allow more variable types to be edited
John W. Eaton <jwe@octave.org>
parents: 24624
diff changeset
1415
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1416 int type_id (void) const { return m_rep->type_id (); }
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1417
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1418 std::string type_name (void) const { return m_rep->type_name (); }
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1419
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1420 std::string class_name (void) const { return m_rep->class_name (); }
4612
d44675070f1a [project @ 2003-11-14 19:49:56 by jwe]
jwe
parents: 4604
diff changeset
1421
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1422 // Unary operations that are member functions. There are also some
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1423 // non-member functions for unary and binary operations declared
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1424 // below, outside of the octave_value class declaration.
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1425
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1426 OCTINTERP_API octave_value& non_const_unary_op (unary_op op);
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1427
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1428 #if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1429 OCTAVE_DEPRECATED (7, "use 'octave_value::non_const_unary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1430 octave_value& do_non_const_unary_op (unary_op op)
19749
c913247c85a8 make colon function work (bug #44290)
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
1431 {
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1432 return non_const_unary_op (op);
19749
c913247c85a8 make colon function work (bug #44290)
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
1433 }
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1434 #endif
19749
c913247c85a8 make colon function work (bug #44290)
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
1435
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1436 OCTINTERP_API octave_value&
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1437 non_const_unary_op (unary_op op, const std::string& type,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1438 const std::list<octave_value_list>& idx);
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1439
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1440 #if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1441 OCTAVE_DEPRECATED (7, "use 'octave_value::non_const_unary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1442 octave_value& do_non_const_unary_op (unary_op op, const std::string& type,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1443 const std::list<octave_value_list>& idx)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1444 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1445 return non_const_unary_op (op, type, idx);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1446 }
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1447 #endif
19749
c913247c85a8 make colon function work (bug #44290)
John W. Eaton <jwe@octave.org>
parents: 19697
diff changeset
1448
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1449 const octave_base_value& get_rep (void) const { return *m_rep; }
3301
02866242d3ae [project @ 1999-10-20 04:10:46 by jwe]
jwe
parents: 3240
diff changeset
1450
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1451 bool is_copy_of (const octave_value& val) const { return m_rep == val.m_rep; }
8456
c1709a45b45b optimize structure components access
Jaroslav Hajek <highegg@gmail.com>
parents: 8437
diff changeset
1452
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1453 OCTINTERP_API void
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1454 print_info (std::ostream& os, const std::string& prefix = "") const;
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
1455
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1456 bool save_ascii (std::ostream& os) { return m_rep->save_ascii (os); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1457
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1458 bool load_ascii (std::istream& is) { return m_rep->load_ascii (is); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1459
26399
586413770c7f pass save_as_floats by value in octave_value save_binary functions
John W. Eaton <jwe@octave.org>
parents: 26377
diff changeset
1460 bool save_binary (std::ostream& os, bool save_as_floats)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1461 { return m_rep->save_binary (os, save_as_floats); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1462
5759
ce79d238f142 [project @ 2006-04-13 13:04:32 by jwe]
jwe
parents: 5758
diff changeset
1463 bool load_binary (std::istream& is, bool swap,
21739
c4ab2e54f100 use namespace for oct_mach_info class
John W. Eaton <jwe@octave.org>
parents: 21730
diff changeset
1464 octave::mach_info::float_format fmt)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1465 { return m_rep->load_binary (is, swap, fmt); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1466
19863
09ed6f7538dd avoid needing to include hdf5 in public header files (bug #44370, #43180)
John W. Eaton <jwe@octave.org> and Mike Miller <mtmiller@ieee.org>
parents: 19749
diff changeset
1467 bool save_hdf5 (octave_hdf5_id loc_id, const char *name,
09ed6f7538dd avoid needing to include hdf5 in public header files (bug #44370, #43180)
John W. Eaton <jwe@octave.org> and Mike Miller <mtmiller@ieee.org>
parents: 19749
diff changeset
1468 bool save_as_floats)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1469 { return m_rep->save_hdf5 (loc_id, name, save_as_floats); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1470
19863
09ed6f7538dd avoid needing to include hdf5 in public header files (bug #44370, #43180)
John W. Eaton <jwe@octave.org> and Mike Miller <mtmiller@ieee.org>
parents: 19749
diff changeset
1471 bool load_hdf5 (octave_hdf5_id loc_id, const char *name)
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1472 { return m_rep->load_hdf5 (loc_id, name); }
4687
e95c86d48732 [project @ 2004-01-06 21:53:34 by jwe]
jwe
parents: 4665
diff changeset
1473
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1474 OCTINTERP_API int
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1475 write (octave::stream& os, int block_size,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1476 oct_data_conv::data_type output_type, int skip,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1477 octave::mach_info::float_format flt_fmt) const;
4944
44046bbaa52c [project @ 2004-08-31 05:30:46 by jwe]
jwe
parents: 4933
diff changeset
1478
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1479 octave_base_value * internal_rep (void) const { return m_rep; }
4901
35bfb4e0b96b [project @ 2004-06-14 18:33:02 by jwe]
jwe
parents: 4791
diff changeset
1480
30232
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1481 // These functions exist to support the MEX interface.
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
1482 // You should not use them anywhere else.
30232
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1483
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1484 OCTINTERP_API const void *
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1485 mex_get_data (mxClassID class_id = mxUNKNOWN_CLASS,
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1486 mxComplexity complexity = mxREAL) const;
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
1487
30232
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1488 const octave_idx_type * mex_get_ir (void) const
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1489 {
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1490 return m_rep->mex_get_ir ();
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1491 }
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
1492
30232
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1493 const octave_idx_type *
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1494 mex_get_jc (void) const
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1495 {
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1496 return m_rep->mex_get_jc ();
a2936935c7c8 attempt to limit possible const_cast damage
John W. Eaton <jwe@octave.org>
parents: 30139
diff changeset
1497 }
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
1498
28126
4c21f99b4ad5 handle interleaved complex data and new typed data access functions for mex
John W. Eaton <jwe@octave.org>
parents: 28123
diff changeset
1499 mxArray * as_mxArray (bool interleaved = false) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1500 { return m_rep->as_mxArray (interleaved); }
5900
c20eb7330d13 [project @ 2006-07-22 08:31:16 by jwe]
jwe
parents: 5895
diff changeset
1501
7620
36594d5bbe13 Move diag function into the octave_value class
David Bateman <dbateman@free.fr>
parents: 7576
diff changeset
1502 octave_value diag (octave_idx_type k = 0) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1503 { return m_rep->diag (k); }
7620
36594d5bbe13 Move diag function into the octave_value class
David Bateman <dbateman@free.fr>
parents: 7576
diff changeset
1504
14557
e8e86ae3abbc make diag (x, m, n) return a proper diagonal matrix object (bug #36099)
John W. Eaton <jwe@octave.org>
parents: 14528
diff changeset
1505 octave_value diag (octave_idx_type m, octave_idx_type n) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1506 { return m_rep->diag (m, n); }
14557
e8e86ae3abbc make diag (x, m, n) return a proper diagonal matrix object (bug #36099)
John W. Eaton <jwe@octave.org>
parents: 14528
diff changeset
1507
7463
2467639bd8c0 eliminate UNDEFINED sort mode
John W. Eaton <jwe@octave.org>
parents: 7433
diff changeset
1508 octave_value sort (octave_idx_type dim = 0, sortmode mode = ASCENDING) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1509 { return m_rep->sort (dim, mode); }
30390
a61e1a0f6024 maint: style check C++ files in libinterp/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 30232
diff changeset
1510 octave_value sort (Array<octave_idx_type>& sidx, octave_idx_type dim = 0,
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1511 sortmode mode = ASCENDING) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1512 { return m_rep->sort (sidx, dim, mode); }
7433
402168152bb9 [project @ 2008-01-31 18:59:09 by dbateman]
dbateman
parents: 7336
diff changeset
1513
23588
0549061d35b9 maint: Deprecate is_sorted and replace with issorted.
Rik <rik@octave.org>
parents: 23587
diff changeset
1514 sortmode issorted (sortmode mode = UNSORTED) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1515 { return m_rep->issorted (mode); }
23588
0549061d35b9 maint: Deprecate is_sorted and replace with issorted.
Rik <rik@octave.org>
parents: 23587
diff changeset
1516
8733
3ef774603887 rename all uses of sortrows_idx to sort_rows_idx
John W. Eaton <jwe@octave.org>
parents: 8732
diff changeset
1517 Array<octave_idx_type> sort_rows_idx (sortmode mode = ASCENDING) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1518 { return m_rep->sort_rows_idx (mode); }
8721
e9cb742df9eb imported patch sort3.diff
Jaroslav Hajek <highegg@gmail.com>
parents: 8676
diff changeset
1519
8734
767ed8cc6634 rename internal issorted and issorted_rows functions to is_sorted and is_sorted_rows
John W. Eaton <jwe@octave.org>
parents: 8733
diff changeset
1520 sortmode is_sorted_rows (sortmode mode = UNSORTED) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1521 { return m_rep->is_sorted_rows (mode); }
8721
e9cb742df9eb imported patch sort3.diff
Jaroslav Hajek <highegg@gmail.com>
parents: 8676
diff changeset
1522
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1523 void lock (void) { m_rep->lock (); }
7489
8e4592e49fa7 don't clear locked functions
John W. Eaton <jwe@octave.org>
parents: 7463
diff changeset
1524
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1525 void unlock (void) { m_rep->unlock (); }
7489
8e4592e49fa7 don't clear locked functions
John W. Eaton <jwe@octave.org>
parents: 7463
diff changeset
1526
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1527 bool islocked (void) const { return m_rep->islocked (); }
7489
8e4592e49fa7 don't clear locked functions
John W. Eaton <jwe@octave.org>
parents: 7463
diff changeset
1528
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1529 void call_object_destructor (void) { return m_rep->call_object_destructor (); }
26655
cca0548f7b86 refactor calling object destructor
John W. Eaton <jwe@octave.org>
parents: 26399
diff changeset
1530
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1531 octave_value dump (void) const { return m_rep->dump (); }
7761
5adeea5de26c symbol table reporting functions
John W. Eaton <jwe@octave.org>
parents: 7740
diff changeset
1532
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1533 #define MAPPER_FORWARD(F) \
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1534 octave_value F (void) const \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1535 { \
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1536 return m_rep->map (octave_base_value::umap_ ## F); \
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1537 }
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1538
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1539 MAPPER_FORWARD (abs)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1540 MAPPER_FORWARD (acos)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1541 MAPPER_FORWARD (acosh)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1542 MAPPER_FORWARD (angle)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1543 MAPPER_FORWARD (arg)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1544 MAPPER_FORWARD (asin)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1545 MAPPER_FORWARD (asinh)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1546 MAPPER_FORWARD (atan)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1547 MAPPER_FORWARD (atanh)
10414
2a8b1db1e2ca implement built-in cbrt
Jaroslav Hajek <highegg@gmail.com>
parents: 10391
diff changeset
1548 MAPPER_FORWARD (cbrt)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1549 MAPPER_FORWARD (ceil)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1550 MAPPER_FORWARD (conj)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1551 MAPPER_FORWARD (cos)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1552 MAPPER_FORWARD (cosh)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1553 MAPPER_FORWARD (erf)
9835
1bb1ed717d2f implement built-in erfinv
Jaroslav Hajek <highegg@gmail.com>
parents: 9813
diff changeset
1554 MAPPER_FORWARD (erfinv)
14770
cb85e836d035 New function: erfcinv (bug #36607)
Axel Mathéi <axel.mathei@gmail.com>
parents: 14557
diff changeset
1555 MAPPER_FORWARD (erfcinv)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1556 MAPPER_FORWARD (erfc)
10391
59e34bcdff13 implement built-in erfcx
Jaroslav Hajek <highegg@gmail.com>
parents: 10325
diff changeset
1557 MAPPER_FORWARD (erfcx)
15696
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15487
diff changeset
1558 MAPPER_FORWARD (erfi)
2fac72a256ce Add complex erf,erfc,erfcx,erfi,dawson routines from Faddeeva package.
Steven G. Johnson <stevenj@alum.mit.edu>
parents: 15487
diff changeset
1559 MAPPER_FORWARD (dawson)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1560 MAPPER_FORWARD (exp)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1561 MAPPER_FORWARD (expm1)
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1562 MAPPER_FORWARD (isfinite)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1563 MAPPER_FORWARD (fix)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1564 MAPPER_FORWARD (floor)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1565 MAPPER_FORWARD (gamma)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1566 MAPPER_FORWARD (imag)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1567 MAPPER_FORWARD (isinf)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1568 MAPPER_FORWARD (isna)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1569 MAPPER_FORWARD (isnan)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1570 MAPPER_FORWARD (lgamma)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1571 MAPPER_FORWARD (log)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1572 MAPPER_FORWARD (log2)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1573 MAPPER_FORWARD (log10)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1574 MAPPER_FORWARD (log1p)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1575 MAPPER_FORWARD (real)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1576 MAPPER_FORWARD (round)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1577 MAPPER_FORWARD (roundb)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1578 MAPPER_FORWARD (signum)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1579 MAPPER_FORWARD (sin)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1580 MAPPER_FORWARD (sinh)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1581 MAPPER_FORWARD (sqrt)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1582 MAPPER_FORWARD (tan)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1583 MAPPER_FORWARD (tanh)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1584
21013
7f4c6d594e3d Finish renaming mapper function finite to isfinite.
Rik <rik@octave.org>
parents: 21012
diff changeset
1585 // These functions are prefixed with X to avoid potential macro conflicts.
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1586
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1587 MAPPER_FORWARD (xisalnum)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1588 MAPPER_FORWARD (xisalpha)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1589 MAPPER_FORWARD (xisascii)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1590 MAPPER_FORWARD (xiscntrl)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1591 MAPPER_FORWARD (xisdigit)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1592 MAPPER_FORWARD (xisgraph)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1593 MAPPER_FORWARD (xislower)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1594 MAPPER_FORWARD (xisprint)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1595 MAPPER_FORWARD (xispunct)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1596 MAPPER_FORWARD (xisspace)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1597 MAPPER_FORWARD (xisupper)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1598 MAPPER_FORWARD (xisxdigit)
15487
ecf5be238b4a provide signbit mapper for real values
John W. Eaton <jwe@octave.org>
parents: 15429
diff changeset
1599 MAPPER_FORWARD (xsignbit)
9813
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1600 MAPPER_FORWARD (xtolower)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1601 MAPPER_FORWARD (xtoupper)
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1602
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1603 #undef MAPPER_FORWARD
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1604
8fa32b527d9a improve & partially revert previous change
Jaroslav Hajek <highegg@gmail.com>
parents: 9812
diff changeset
1605 octave_value map (octave_base_value::unary_mapper_t umap) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1606 { return m_rep->map (umap); }
7503
8c32f95c2639 convert mapper functions to new format
David Bateman <dbateman@free.fr>
parents: 7489
diff changeset
1607
27216
823b4bcf79fc unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents: 26922
diff changeset
1608 //! Extract the n-th element, aka 'val(n)'.
24624
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1609 //!
27216
823b4bcf79fc unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents: 26922
diff changeset
1610 //! @return Result is undefined if 'val' is not an array type
24624
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1611 //! or @p n is out of range.
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1612 //!
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1613 //! @warning Function calls should never error.
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1614
10670
654fbde5dceb make cellfun's fast scalar collection mechanism public
Jaroslav Hajek <highegg@gmail.com>
parents: 10614
diff changeset
1615 octave_value
654fbde5dceb make cellfun's fast scalar collection mechanism public
Jaroslav Hajek <highegg@gmail.com>
parents: 10614
diff changeset
1616 fast_elem_extract (octave_idx_type n) const
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1617 { return m_rep->fast_elem_extract (n); }
10670
654fbde5dceb make cellfun's fast scalar collection mechanism public
Jaroslav Hajek <highegg@gmail.com>
parents: 10614
diff changeset
1618
27216
823b4bcf79fc unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents: 26922
diff changeset
1619 //! Assign the n-th element, aka 'val(n) = x'.
24624
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1620 //!
27216
823b4bcf79fc unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents: 26922
diff changeset
1621 //! @returns false if 'val' is not an array type,
24624
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1622 //! @p x is not a matching scalar type,
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1623 //! or @p n is out of range.
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1624 //!
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1625 //! @warning Function calls should never error.
ce2eb28e0a6d doc: make all Doxygen comment blocks more consistent
Mike Miller <mtmiller@octave.org>
parents: 24620
diff changeset
1626
24040
8e8dbabd6e84 ov.h(fast_elem_insert): Remove "virtual" declaration.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 23913
diff changeset
1627 bool
10670
654fbde5dceb make cellfun's fast scalar collection mechanism public
Jaroslav Hajek <highegg@gmail.com>
parents: 10614
diff changeset
1628 fast_elem_insert (octave_idx_type n, const octave_value& x)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1629 {
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1630 make_unique ();
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1631 return m_rep->fast_elem_insert (n, x);
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1632 }
10670
654fbde5dceb make cellfun's fast scalar collection mechanism public
Jaroslav Hajek <highegg@gmail.com>
parents: 10614
diff changeset
1633
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1634 protected:
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1635
24040
8e8dbabd6e84 ov.h(fast_elem_insert): Remove "virtual" declaration.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents: 23913
diff changeset
1636 //! The real representation.
30128
5616702bffac maint: use "m_" prefix for member variable "m_rep" in class octave_value.
Rik <rik@octave.org>
parents: 30012
diff changeset
1637 octave_base_value *m_rep;
2413
44753e0cadf2 [project @ 1996-10-15 17:02:26 by jwe]
jwe
parents: 2410
diff changeset
1638
3933
f9ea3dcf58ee [project @ 2002-05-15 03:21:00 by jwe]
jwe
parents: 3930
diff changeset
1639 private:
2903
facd9d10e5c1 [project @ 1997-04-30 03:53:07 by jwe]
jwe
parents: 2891
diff changeset
1640
30390
a61e1a0f6024 maint: style check C++ files in libinterp/ ahead of 7.1 release.
Rik <rik@octave.org>
parents: 30232
diff changeset
1641 static OCTINTERP_API octave_base_value * nil_rep (void);
21573
f3f8e1d3e399 avoid mulitple definitions of static function-scope vars (bug #47372)
John W. Eaton <jwe@octave.org>
parents: 20087
diff changeset
1642
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1643 OCTINTERP_API assign_op unary_op_to_assign_op (unary_op op);
3205
549691faa638 [project @ 1998-10-31 04:20:15 by jwe]
jwe
parents: 3204
diff changeset
1644
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1645 OCTINTERP_API binary_op op_eq_to_binary_op (assign_op op);
3204
81738e630f57 [project @ 1998-10-30 23:28:29 by jwe]
jwe
parents: 3203
diff changeset
1646
9521
e08d72bb988e simplify cloning
Jaroslav Hajek <highegg@gmail.com>
parents: 9479
diff changeset
1647 // This declaration protects against constructing octave_value from
e08d72bb988e simplify cloning
Jaroslav Hajek <highegg@gmail.com>
parents: 9479
diff changeset
1648 // const octave_base_value* which actually silently calls octave_value (bool).
29234
853e60367cb6 Set API tags in files in libinterp/octave-value (patch #8919).
Markus Mützel <markus.muetzel@gmx.de>
parents: 28900
diff changeset
1649 OCTINTERP_API octave_value (const octave_base_value *);
9521
e08d72bb988e simplify cloning
Jaroslav Hajek <highegg@gmail.com>
parents: 9479
diff changeset
1650
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1651 };
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1652
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1653 // Non-member unary and binary operations on octave_value objects.
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1654
29960
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
1655 OCTAVE_NAMESPACE_BEGIN
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
1656
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1657 extern OCTINTERP_API octave_value
28857
43ad651cf5a0 eliminate unnecessary uses of octave:: namespace qualifier
John W. Eaton <jwe@octave.org>
parents: 28646
diff changeset
1658 unary_op (type_info& ti, octave_value::unary_op op,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1659 const octave_value& a);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1660
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1661 extern OCTINTERP_API octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1662 unary_op (octave_value::unary_op op, const octave_value& a);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1663
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1664 extern OCTINTERP_API octave_value
28857
43ad651cf5a0 eliminate unnecessary uses of octave:: namespace qualifier
John W. Eaton <jwe@octave.org>
parents: 28646
diff changeset
1665 binary_op (type_info& ti, octave_value::binary_op op,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1666 const octave_value& a, const octave_value& b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1667
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1668 extern OCTINTERP_API octave_value
28857
43ad651cf5a0 eliminate unnecessary uses of octave:: namespace qualifier
John W. Eaton <jwe@octave.org>
parents: 28646
diff changeset
1669 binary_op (type_info& ti, octave_value::compound_binary_op op,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1670 const octave_value& a, const octave_value& b);
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1671
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1672 extern OCTINTERP_API octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1673 binary_op (octave_value::binary_op op, const octave_value& a,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1674 const octave_value& b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1675
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1676 extern OCTINTERP_API octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1677 binary_op (octave_value::compound_binary_op op, const octave_value& a,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1678 const octave_value& b);
5508
7865515fc6c2 [project @ 2005-10-26 15:24:07 by jwe]
jwe
parents: 5353
diff changeset
1679
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1680 extern OCTINTERP_API octave_value
28857
43ad651cf5a0 eliminate unnecessary uses of octave:: namespace qualifier
John W. Eaton <jwe@octave.org>
parents: 28646
diff changeset
1681 cat_op (type_info& ti, const octave_value& a,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1682 const octave_value& b, const Array<octave_idx_type>& ra_idx);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1683
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1684 extern OCTINTERP_API octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1685 cat_op (const octave_value& a, const octave_value& b,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1686 const Array<octave_idx_type>& ra_idx);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1687
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1688 extern OCTINTERP_API octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1689 colon_op (const octave_value& base, const octave_value& increment,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1690 const octave_value& limit, bool is_for_cmd_expr = false);
5508
7865515fc6c2 [project @ 2005-10-26 15:24:07 by jwe]
jwe
parents: 5353
diff changeset
1691
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1692 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1693 colon_op (const octave_value& base, const octave_value& limit,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1694 bool is_for_cmd_expr = false)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1695 {
28633
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1696 // Note, we need to pass an undefined octave_value object instead of
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1697 // octave_value (1.0) so that we can properly detect the
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1698 // two-argument case and correctly pass just two arguments to any
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1699 // user-defined function that is provided if either base or limit is
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1700 // an object.
c897ec8fb5d1 refactor octave_value colon_op function
John W. Eaton <jwe@octave.org>
parents: 28631
diff changeset
1701
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1702 return colon_op (base, octave_value (), limit, is_for_cmd_expr);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1703 }
29960
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
1704
939bef0b66e0 merge "namespace octave" and OCTAVE_NAMESPACE_BEGIN/END blocks
John W. Eaton <jwe@octave.org>
parents: 29954
diff changeset
1705 OCTAVE_NAMESPACE_END
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1706
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1707 #if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1708 OCTAVE_DEPRECATED (7, "use 'octave::unary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1709 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1710 do_unary_op (octave::type_info& ti, octave_value::unary_op op,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1711 const octave_value& a)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1712 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1713 return octave::unary_op (ti, op, a);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1714 }
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1715
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1716 OCTAVE_DEPRECATED (7, "use 'octave::unary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1717 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1718 do_unary_op (octave_value::unary_op op, const octave_value& a)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1719 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1720 return octave::unary_op (op, a);
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1721 }
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1722
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1723 OCTAVE_DEPRECATED (7, "use 'octave::binary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1724 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1725 do_binary_op (octave::type_info& ti, octave_value::binary_op op,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1726 const octave_value& a, const octave_value& b)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1727 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1728 return octave::binary_op (ti, op, a, b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1729 }
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1730
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1731 OCTAVE_DEPRECATED (7, "use 'octave::binary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1732 inline octave_value
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1733 do_binary_op (octave::type_info& ti, octave_value::compound_binary_op op,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1734 const octave_value& a, const octave_value& b)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1735 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1736 return octave::binary_op (ti, op, a, b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1737 }
5508
7865515fc6c2 [project @ 2005-10-26 15:24:07 by jwe]
jwe
parents: 5353
diff changeset
1738
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1739 OCTAVE_DEPRECATED (7, "use 'octave::binary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1740 inline octave_value
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1741 do_binary_op (octave_value::binary_op op, const octave_value& a,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1742 const octave_value& b)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1743 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1744 return octave::binary_op (op, a, b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1745 }
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1746
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1747 OCTAVE_DEPRECATED (7, "use 'octave::binary_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1748 inline octave_value
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1749 do_binary_op (octave_value::compound_binary_op op, const octave_value& a,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1750 const octave_value& b)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1751 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1752 return octave::binary_op (op, a, b);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1753 }
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1754
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1755 OCTAVE_DEPRECATED (7, "use 'octave::cat_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1756 inline octave_value
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1757 do_cat_op (octave::type_info& ti, const octave_value& a,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1758 const octave_value& b, const Array<octave_idx_type>& ra_idx)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1759 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1760 return octave::cat_op (ti, a, b, ra_idx);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1761 }
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1762
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1763 OCTAVE_DEPRECATED (7, "use 'octave::cat_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1764 inline octave_value
24565
dbec1e04f499 accept type_info obj as arg to binary_op, unary_op, and cat_op functions
John W. Eaton <jwe@octave.org>
parents: 24540
diff changeset
1765 do_cat_op (const octave_value& a, const octave_value& b,
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1766 const Array<octave_idx_type>& ra_idx)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1767 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1768 return octave::cat_op (a, b, ra_idx);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1769 }
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1770
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1771 OCTAVE_DEPRECATED (7, "use 'octave::colon_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1772 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1773 do_colon_op (const octave_value& base, const octave_value& increment,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1774 const octave_value& limit, bool is_for_cmd_expr = false)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1775 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1776 return octave::colon_op (base, increment, limit, is_for_cmd_expr);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1777 }
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1778
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1779 OCTAVE_DEPRECATED (7, "use 'octave::colon_op' instead")
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1780 inline octave_value
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1781 do_colon_op (const octave_value& base, const octave_value& limit,
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1782 bool is_for_cmd_expr = false)
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1783 {
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1784 return octave::colon_op (base, limit, is_for_cmd_expr);
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1785 }
29954
4c88a452519c rename OCTAVE_USE_DEPRECATED_FUNCTIONS macro and attempt to make it work
John W. Eaton <jwe@octave.org>
parents: 29655
diff changeset
1786 #endif
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1787
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1788 #define OV_UNOP_FN(name) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1789 inline octave_value \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1790 name (const octave_value& a) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1791 { \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1792 return octave::unary_op (octave_value::name, a); \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1793 }
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1794
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1795 #define OV_UNOP_OP(name, op) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1796 inline octave_value \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1797 operator op (const octave_value& a) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1798 { \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1799 return name (a); \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1800 }
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1801
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1802 #define OV_UNOP_FN_OP(name, op) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1803 OV_UNOP_FN (name) \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1804 OV_UNOP_OP (name, op)
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1805
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1806 OV_UNOP_FN_OP (op_not, !)
6518
952c8b00525e [project @ 2007-04-11 20:50:22 by jwe]
jwe
parents: 6338
diff changeset
1807 OV_UNOP_FN_OP (op_uplus, +)
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1808 OV_UNOP_FN_OP (op_uminus, -)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1809
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1810 OV_UNOP_FN (op_transpose)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1811 OV_UNOP_FN (op_hermitian)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1812
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1813 // No simple way to define these for prefix and suffix ops?
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1814 //
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1815 // incr
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1816 // decr
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1817
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1818 #define OV_BINOP_FN(name) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1819 inline octave_value \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1820 name (const octave_value& a1, const octave_value& a2) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1821 { \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1822 return octave::binary_op (octave_value::name, a1, a2); \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1823 }
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1824
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1825 #define OV_BINOP_OP(name, op) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1826 inline octave_value \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1827 operator op (const octave_value& a1, const octave_value& a2) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1828 { \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1829 return name (a1, a2); \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1830 }
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1831
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1832 #define OV_BINOP_FN_OP(name, op) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1833 OV_BINOP_FN (name) \
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1834 OV_BINOP_OP (name, op)
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1835
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1836 OV_BINOP_FN_OP (op_add, +)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1837 OV_BINOP_FN_OP (op_sub, -)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1838 OV_BINOP_FN_OP (op_mul, *)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1839 OV_BINOP_FN_OP (op_div, /)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1840
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1841 OV_BINOP_FN (op_pow)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1842 OV_BINOP_FN (op_ldiv)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1843
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1844 OV_BINOP_FN_OP (op_lt, <)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1845 OV_BINOP_FN_OP (op_le, <=)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1846 OV_BINOP_FN_OP (op_eq, ==)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1847 OV_BINOP_FN_OP (op_ge, >=)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1848 OV_BINOP_FN_OP (op_gt, >)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1849 OV_BINOP_FN_OP (op_ne, !=)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1850
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1851 OV_BINOP_FN (op_el_mul)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1852 OV_BINOP_FN (op_el_div)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1853 OV_BINOP_FN (op_el_pow)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1854 OV_BINOP_FN (op_el_ldiv)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1855 OV_BINOP_FN (op_el_and)
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1856 OV_BINOP_FN (op_el_or)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1857
3525
6cfa474c5b99 [project @ 2000-02-02 10:48:41 by jwe]
jwe
parents: 3523
diff changeset
1858 OV_BINOP_FN (op_struct_ref)
3203
bc61b0e8d60e [project @ 1998-10-30 20:26:27 by jwe]
jwe
parents: 3202
diff changeset
1859
28631
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1860 #define OV_COMP_BINOP_FN(name) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1861 inline octave_value \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1862 name (const octave_value& a1, const octave_value& a2) \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1863 { \
70cdf8de553d move non-member octave_value operator functions to octave namespace
John W. Eaton <jwe@octave.org>
parents: 28588
diff changeset
1864 return octave::binary_op (octave_value::name, a1, a2); \
7800
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1865 }
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1866
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1867 OV_COMP_BINOP_FN (op_trans_mul)
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1868 OV_COMP_BINOP_FN (op_mul_trans)
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1869 OV_COMP_BINOP_FN (op_herm_mul)
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1870 OV_COMP_BINOP_FN (op_mul_herm)
5861b95e9879 support for compound operators, implement trans_mul, mul_trans, herm_mul and mul_herm
Jaroslav Hajek <highegg@gmail.com>
parents: 7789
diff changeset
1871
24540
46440078d73b don't use singleton for octave_value_typeinfo
John W. Eaton <jwe@octave.org>
parents: 24534
diff changeset
1872 extern OCTINTERP_API void install_types (octave::type_info&);
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1873
9657
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1874 // Templated value extractors.
21139
538b57866b90 consistently use "typename" intead of "class" in template declarations
John W. Eaton <jwe@octave.org>
parents: 21134
diff changeset
1875 template <typename Value>
9657
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1876 inline Value octave_value_extract (const octave_value&)
17787
175b392e91fe Use GNU style coding conventions for code in libinterp/
Rik <rik@octave.org>
parents: 17744
diff changeset
1877 { assert (false); }
9657
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1878
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1879 #define DEF_VALUE_EXTRACTOR(VALUE,MPREFIX) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1880 template <> \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1881 inline VALUE octave_value_extract<VALUE> (const octave_value& v) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1882 { \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1883 return v.MPREFIX ## _value (); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1884 }
9657
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1885
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1886 DEF_VALUE_EXTRACTOR (double, scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1887 DEF_VALUE_EXTRACTOR (float, float_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1888 DEF_VALUE_EXTRACTOR (Complex, complex)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1889 DEF_VALUE_EXTRACTOR (FloatComplex, float_complex)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1890 DEF_VALUE_EXTRACTOR (bool, bool)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1891
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1892 DEF_VALUE_EXTRACTOR (octave_int8, int8_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1893 DEF_VALUE_EXTRACTOR (octave_int16, int16_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1894 DEF_VALUE_EXTRACTOR (octave_int32, int32_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1895 DEF_VALUE_EXTRACTOR (octave_int64, int64_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1896 DEF_VALUE_EXTRACTOR (octave_uint8, uint8_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1897 DEF_VALUE_EXTRACTOR (octave_uint16, uint16_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1898 DEF_VALUE_EXTRACTOR (octave_uint32, uint32_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1899 DEF_VALUE_EXTRACTOR (octave_uint64, uint64_scalar)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1900
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1901 DEF_VALUE_EXTRACTOR (NDArray, array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1902 DEF_VALUE_EXTRACTOR (FloatNDArray, float_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1903 DEF_VALUE_EXTRACTOR (ComplexNDArray, complex_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1904 DEF_VALUE_EXTRACTOR (FloatComplexNDArray, float_complex_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1905 DEF_VALUE_EXTRACTOR (boolNDArray, bool_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1906
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1907 DEF_VALUE_EXTRACTOR (charNDArray, char_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1908 DEF_VALUE_EXTRACTOR (int8NDArray, int8_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1909 DEF_VALUE_EXTRACTOR (int16NDArray, int16_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1910 DEF_VALUE_EXTRACTOR (int32NDArray, int32_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1911 DEF_VALUE_EXTRACTOR (int64NDArray, int64_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1912 DEF_VALUE_EXTRACTOR (uint8NDArray, uint8_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1913 DEF_VALUE_EXTRACTOR (uint16NDArray, uint16_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1914 DEF_VALUE_EXTRACTOR (uint32NDArray, uint32_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1915 DEF_VALUE_EXTRACTOR (uint64NDArray, uint64_array)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1916
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1917 DEF_VALUE_EXTRACTOR (Matrix, matrix)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1918 DEF_VALUE_EXTRACTOR (FloatMatrix, float_matrix)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1919 DEF_VALUE_EXTRACTOR (ComplexMatrix, complex_matrix)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1920 DEF_VALUE_EXTRACTOR (FloatComplexMatrix, float_complex_matrix)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1921 DEF_VALUE_EXTRACTOR (boolMatrix, bool_matrix)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1922
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1923 DEF_VALUE_EXTRACTOR (ColumnVector, column_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1924 DEF_VALUE_EXTRACTOR (FloatColumnVector, float_column_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1925 DEF_VALUE_EXTRACTOR (ComplexColumnVector, complex_column_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1926 DEF_VALUE_EXTRACTOR (FloatComplexColumnVector, float_complex_column_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1927
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1928 DEF_VALUE_EXTRACTOR (RowVector, row_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1929 DEF_VALUE_EXTRACTOR (FloatRowVector, float_row_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1930 DEF_VALUE_EXTRACTOR (ComplexRowVector, complex_row_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1931 DEF_VALUE_EXTRACTOR (FloatComplexRowVector, float_complex_row_vector)
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1932
9685
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1933 DEF_VALUE_EXTRACTOR (DiagMatrix, diag_matrix)
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1934 DEF_VALUE_EXTRACTOR (FloatDiagMatrix, float_diag_matrix)
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1935 DEF_VALUE_EXTRACTOR (ComplexDiagMatrix, complex_diag_matrix)
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1936 DEF_VALUE_EXTRACTOR (FloatComplexDiagMatrix, float_complex_diag_matrix)
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1937 DEF_VALUE_EXTRACTOR (PermMatrix, perm_matrix)
e793865ede63 implement builtin_type
Jaroslav Hajek <highegg@gmail.com>
parents: 9661
diff changeset
1938
9789
97f5de91427b support sparse templated extractors
Jaroslav Hajek <highegg@gmail.com>
parents: 9732
diff changeset
1939 DEF_VALUE_EXTRACTOR (SparseMatrix, sparse_matrix)
97f5de91427b support sparse templated extractors
Jaroslav Hajek <highegg@gmail.com>
parents: 9732
diff changeset
1940 DEF_VALUE_EXTRACTOR (SparseComplexMatrix, sparse_complex_matrix)
97f5de91427b support sparse templated extractors
Jaroslav Hajek <highegg@gmail.com>
parents: 9732
diff changeset
1941 DEF_VALUE_EXTRACTOR (SparseBoolMatrix, sparse_bool_matrix)
9657
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1942 #undef DEF_VALUE_EXTRACTOR
3c1c3a38ec7b implement templated octave_value extractor
Jaroslav Hajek <highegg@gmail.com>
parents: 9607
diff changeset
1943
22197
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1944 #define DEF_DUMMY_VALUE_EXTRACTOR(VALUE,DEFVAL) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1945 template <> \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1946 inline VALUE octave_value_extract<VALUE> (const octave_value&) \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1947 { \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1948 assert (false); \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1949 return DEFVAL; \
e43d83253e28 refill multi-line macro definitions
John W. Eaton <jwe@octave.org>
parents: 22022
diff changeset
1950 }
13733
b1186adb567e Add dummy template specializations with a return value.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13294
diff changeset
1951
b1186adb567e Add dummy template specializations with a return value.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13294
diff changeset
1952 DEF_DUMMY_VALUE_EXTRACTOR (char, 0)
b1186adb567e Add dummy template specializations with a return value.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13294
diff changeset
1953 DEF_DUMMY_VALUE_EXTRACTOR (octave_value, octave_value ())
b1186adb567e Add dummy template specializations with a return value.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13294
diff changeset
1954 #undef DEF_DUMMY_VALUE_EXTRACTOR
b1186adb567e Add dummy template specializations with a return value.
Michael Goffioul <michael.goffioul@gmail.com>
parents: 13294
diff changeset
1955
2376
2142216bf85a [project @ 1996-10-12 01:39:07 by jwe]
jwe
parents:
diff changeset
1956 #endif