GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
ov-cs-list.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2002-2018 John W. Eaton
4 
5 This file is part of Octave.
6 
7 Octave is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with Octave; see the file COPYING. If not, see
19 <https://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if ! defined (octave_ov_cs_list_h)
24 #define octave_ov_cs_list_h 1
25 
26 #include "octave-config.h"
27 
28 #include <cstdlib>
29 
30 #include <iosfwd>
31 #include <string>
32 
33 #include "mx-base.h"
34 #include "str-vec.h"
35 
36 #include "Cell.h"
37 #include "error.h"
38 #include "ovl.h"
39 #include "ov-typeinfo.h"
40 
41 // Lists.
42 
43 class
45 {
46 public:
47 
49  : octave_base_value (), lst () { }
50 
52  : octave_base_value (), lst (l) { }
53 
54  octave_cs_list (const Cell& c);
55 
57  : octave_base_value (), lst (l.lst) { }
58 
59  ~octave_cs_list (void) = default;
60 
61  octave_base_value * clone (void) const { return new octave_cs_list (*this); }
62  octave_base_value * empty_clone (void) const { return new octave_cs_list (); }
63 
64  dim_vector dims (void) const { return dim_vector (1, lst.length ()); }
65 
66  bool is_defined (void) const { return true; }
67 
68  bool is_constant (void) const { return true; }
69 
70  bool is_cs_list (void) const { return true; }
71 
72  octave_value_list list_value (void) const { return lst; }
73 
75  const std::list<octave_value_list>& idx);
76 
78  const std::list<octave_value_list>& idx, int);
79 
80 private:
81 
82  // The list of Octave values.
84 
86 };
87 
88 #endif
Definition: Cell.h:37
dim_vector dims(void) const
Definition: ov-cs-list.h:64
octave_cs_list(const octave_cs_list &l)
Definition: ov-cs-list.h:56
idx subsref(val, idx) esult
Definition: ov.cc:3065
nd example oindent opens the file binary numeric values will be read assuming they are stored in IEEE format with the least significant bit and then converted to the native representation Opening a file that is already open simply opens it again and returns a separate file id It is not an error to open a file several though writing to the same file through several different file ids may produce unexpected results The possible values of text mode reading and writing automatically converts linefeeds to the appropriate line end character for the you may append a you must also open the file in binary mode The parameter conversions are currently only supported for and permissions will be set to and then everything is written in a single operation This is very efficient and improves performance c
Definition: file-io.cc:587
bool is_defined(void) const
Definition: ov-cs-list.h:66
bool is_cs_list(void) const
Definition: ov-cs-list.h:70
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA
Definition: ov-base.h:158
octave_value_list lst
Definition: ov-cs-list.h:83
bool is_constant(void) const
Definition: ov-cs-list.h:68
octave_base_value * clone(void) const
Definition: ov-cs-list.h:61
idx type
Definition: ov.cc:3114
octave_cs_list(void)
Definition: ov-cs-list.h:48
octave_cs_list(const octave_value_list &l)
Definition: ov-cs-list.h:51
Vector representing the dimensions (size) of an Array.
Definition: dim-vector.h:87
octave_base_value * empty_clone(void) const
Definition: ov-cs-list.h:62
octave_value_list list_value(void) const
Definition: ov-cs-list.h:72
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
Definition: utils.cc:888