Mercurial > hg > octave-nkf
annotate liboctave/array/chMatrix.h @ 20068:19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Try to wrap long lines to < 80 characters.
Use GNU style and don't indent first brace of function definition.
"case" statement is aligned flush left with brace of switch stmt.
Remove trailing '\' line continuation from the end of #define macros.
Use 2 spaces for indent.
* files-dock-widget.cc, history-dock-widget.cc, main-window.cc, octave-cmd.cc,
octave-dock-widget.cc, octave-gui.cc, resource-manager.cc, settings-dialog.cc,
shortcut-manager.cc, welcome-wizard.cc, workspace-view.cc, cellfun.cc, data.cc,
debug.cc, debug.h, dirfns.cc, error.h, file-io.cc, gl-render.cc, gl-render.h,
gl2ps-renderer.h, graphics.cc, graphics.in.h, help.cc, input.cc, load-path.cc,
load-path.h, lookup.cc, lu.cc, oct-stream.cc, octave-default-image.h,
ordschur.cc, pr-output.cc, qz.cc, strfns.cc, symtab.cc, symtab.h, sysdep.cc,
variables.cc, zfstream.h, __fltk_uigetfile__.cc, __init_fltk__.cc,
__magick_read__.cc, __osmesa_print__.cc, audiodevinfo.cc, ov-classdef.cc,
ov-classdef.h, ov-fcn.h, ov-float.cc, ov-flt-complex.cc, ov-java.cc,
ov-range.cc, ov-re-mat.cc, ov-usr-fcn.h, ov.cc, op-int.h, options-usage.h,
pt-eval.cc, Array-C.cc, Array-fC.cc, Array.cc, Array.h, PermMatrix.cc,
Sparse.cc, chMatrix.h, dSparse.cc, dim-vector.h, bsxfun-decl.h, bsxfun-defs.cc,
oct-norm.cc, Sparse-op-defs.h, oct-inttypes.cc, oct-inttypes.h, main.in.cc,
mkoctfile.in.cc: Cleanup C++ code to follow Octave coding conventions.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 25 Feb 2015 11:55:49 -0800 |
parents | 4197fc428c7d |
children |
rev | line source |
---|---|
1573 | 1 /* |
2 | |
19898
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19512
diff
changeset
|
3 Copyright (C) 1995-2015 John W. Eaton |
10521
4d1fc073fbb7
add some missing copyright stmts
Jaroslav Hajek <highegg@gmail.com>
parents:
10364
diff
changeset
|
4 Copyright (C) 2010 VZLU Prague |
1573 | 5 |
6 This file is part of Octave. | |
7 | |
8 Octave is free software; you can redistribute it and/or modify it | |
9 under the terms of the GNU General Public License as published by the | |
7016 | 10 Free Software Foundation; either version 3 of the License, or (at your |
11 option) any later version. | |
1573 | 12 |
13 Octave is distributed in the hope that it will be useful, but WITHOUT | |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
7016 | 19 along with Octave; see the file COPYING. If not, see |
20 <http://www.gnu.org/licenses/>. | |
1573 | 21 |
22 */ | |
23 | |
17822
ebb3ef964372
maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents:
17769
diff
changeset
|
24 #if !defined (octave_chMatrix_h) |
ebb3ef964372
maint: Use common #define syntax "octave_filename_h" in h_files.
Rik <rik@octave.org>
parents:
17769
diff
changeset
|
25 #define octave_chMatrix_h 1 |
1573 | 26 |
1728 | 27 #include <string> |
28 | |
10351
5150ceb4dbb4
base charMatrix and boolMatrix on Array<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10267
diff
changeset
|
29 #include "Array.h" |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
30 #include "chNDArray.h" |
1573 | 31 |
32 #include "mx-defs.h" | |
8774
b756ce0002db
split implementation and interface in mx-op-defs and MArray-defs
Jaroslav Hajek <highegg@gmail.com>
parents:
8290
diff
changeset
|
33 #include "mx-op-decl.h" |
2349 | 34 #include "str-vec.h" |
1573 | 35 |
1728 | 36 class |
6108 | 37 OCTAVE_API |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
38 charMatrix : public charNDArray |
1573 | 39 { |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
40 friend class ComplexMatrix; |
1573 | 41 |
42 public: | |
43 | |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
44 charMatrix (void) : charNDArray () { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
45 |
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
46 charMatrix (octave_idx_type r, octave_idx_type c) |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
47 : charNDArray (dim_vector (r, c)) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
48 |
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
49 charMatrix (octave_idx_type r, octave_idx_type c, char val) |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
50 : charNDArray (dim_vector (r, c), val) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
51 |
19512
50922b1c74df
liboctave: confirm that matrices constructors are limited to 2 dimensions.
Carnë Draug <carandraug@octave.org>
parents:
19509
diff
changeset
|
52 charMatrix (const dim_vector& dv) : charNDArray (dv.redim (2)) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
53 |
19512
50922b1c74df
liboctave: confirm that matrices constructors are limited to 2 dimensions.
Carnë Draug <carandraug@octave.org>
parents:
19509
diff
changeset
|
54 charMatrix (const dim_vector& dv, char val) |
50922b1c74df
liboctave: confirm that matrices constructors are limited to 2 dimensions.
Carnë Draug <carandraug@octave.org>
parents:
19509
diff
changeset
|
55 : charNDArray (dv.redim (2), val) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
56 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
57 charMatrix (const Array<char>& a) : charNDArray (a.as_matrix ()) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
58 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
59 charMatrix (const charMatrix& a) : charNDArray (a) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
60 |
20068
19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
61 charMatrix (char c) : charNDArray (c) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
62 |
20068
19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
63 charMatrix (const char *s) : charNDArray (s) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
64 |
20068
19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
65 charMatrix (const std::string& s) : charNDArray (s) { } |
11570
57632dea2446
attempt better backward compatibility for Array constructors
John W. Eaton <jwe@octave.org>
parents:
11523
diff
changeset
|
66 |
19508
6c9ea5be96bf
Change charMatrix to subclass charNDArray rather than be another Array<char>.
Carnë Draug <carandraug@octave.org>
parents:
17822
diff
changeset
|
67 charMatrix (const string_vector& s, char fill_value = '\0') |
20068
19755f4fc851
maint: Cleanup C++ code to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19898
diff
changeset
|
68 : charNDArray (s, fill_value) { } |
1573 | 69 |
2384 | 70 bool operator == (const charMatrix& a) const; |
71 bool operator != (const charMatrix& a) const; | |
1573 | 72 |
10351
5150ceb4dbb4
base charMatrix and boolMatrix on Array<char>
Jaroslav Hajek <highegg@gmail.com>
parents:
10267
diff
changeset
|
73 charMatrix transpose (void) const { return Array<char>::transpose (); } |
4902 | 74 |
1573 | 75 // destructive insert/delete/reorder operations |
76 | |
5275 | 77 charMatrix& insert (const char *s, octave_idx_type r, octave_idx_type c); |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
78 charMatrix& insert (const charMatrix& a, |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
79 octave_idx_type r, octave_idx_type c); |
1573 | 80 |
11265
a117dc8ea1b9
charMatrix::row_as_string: never strip trailing nul characters
John W. Eaton <jwe@octave.org>
parents:
10521
diff
changeset
|
81 std::string row_as_string (octave_idx_type, bool strip_ws = false) const; |
1573 | 82 |
3189 | 83 // resize is the destructive equivalent for this one |
84 | |
17769
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
85 charMatrix extract (octave_idx_type r1, octave_idx_type c1, |
49a5a4be04a1
maint: Use GNU style coding conventions for code in liboctave/
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
86 octave_idx_type r2, octave_idx_type c2) const; |
3189 | 87 |
14616
13cc11418393
improve handling of default resize fill value for arrays
John W. Eaton <jwe@octave.org>
parents:
14138
diff
changeset
|
88 void resize (octave_idx_type nr, octave_idx_type nc, char rfv = 0) |
11574
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
89 { |
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
90 Array<char>::resize (dim_vector (nr, nc), rfv); |
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
91 } |
a83bad07f7e3
attempt better backward compatibility for Array resize functions
John W. Eaton <jwe@octave.org>
parents:
11570
diff
changeset
|
92 |
2255 | 93 #if 0 |
1573 | 94 // i/o |
95 | |
3504 | 96 friend std::ostream& operator << (std::ostream& os, const Matrix& a); |
97 friend std::istream& operator >> (std::istream& is, Matrix& a); | |
1573 | 98 #endif |
99 }; | |
100 | |
6708 | 101 MS_CMP_OP_DECLS (charMatrix, char, OCTAVE_API) |
102 MS_BOOL_OP_DECLS (charMatrix, char, OCTAVE_API) | |
6456 | 103 |
6708 | 104 SM_CMP_OP_DECLS (char, charMatrix, OCTAVE_API) |
105 SM_BOOL_OP_DECLS (char, charMatrix, OCTAVE_API) | |
6456 | 106 |
6708 | 107 MM_CMP_OP_DECLS (charMatrix, charMatrix, OCTAVE_API) |
108 MM_BOOL_OP_DECLS (charMatrix, charMatrix, OCTAVE_API) | |
6456 | 109 |
1573 | 110 #endif |