GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
comment-list.h
Go to the documentation of this file.
1 /*
2 
3 Copyright (C) 2000-2015 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 the
9 Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11 
12 Octave is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 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 <http://www.gnu.org/licenses/>.
20 
21 */
22 
23 #if !defined (octave_comment_list_h)
24 #define octave_comment_list_h 1
25 
26 #include <string>
27 
28 #include <base-list.h>
29 
30 extern std::string get_comment_text (void);
31 
32 extern char *get_comment_text_c_str (void);
33 
34 extern void save_comment_text (const std::string& text);
35 
36 class
38 {
39 public:
40 
42  {
48  copyright
49  };
50 
51  octave_comment_elt (const std::string& s = std::string (),
52  comment_type t = unknown)
53  : txt (s), typ (t) { }
54 
56  : txt (oc.txt), typ (oc.typ) { }
57 
59  {
60  if (this != &oc)
61  {
62  txt = oc.txt;
63  typ = oc.typ;
64  }
65 
66  return *this;
67  }
68 
69  std::string text (void) const { return txt; }
70 
71  comment_type type (void) const { return typ; }
72 
74 
75 private:
76 
77  // The text of the comment.
78  std::string txt;
79 
80  // The type of comment.
82 };
83 
84 class
86 {
87 public:
88 
90 
91  void append (const octave_comment_elt& elt)
93 
94  void append (const std::string& s,
96  { append (octave_comment_elt (s, t)); }
97 
98  octave_comment_list *dup (void) const;
99 };
100 
101 #endif
comment_type type(void) const
Definition: comment-list.h:71
octave_comment_elt(const std::string &s=std::string(), comment_type t=unknown)
Definition: comment-list.h:51
octave_value_list & append(const octave_value &val)
Definition: oct-obj.cc:85
octave_comment_elt(const octave_comment_elt &oc)
Definition: comment-list.h:55
void append(const std::string &s, octave_comment_elt::comment_type t=octave_comment_elt::unknown)
Definition: comment-list.h:94
comment_type typ
Definition: comment-list.h:81
std::string txt
Definition: comment-list.h:78
void append(const elt_type &s)
Definition: base-list.h:105
char * get_comment_text_c_str(void)
std::string get_comment_text(void)
std::string text(void) const
Definition: comment-list.h:69
void save_comment_text(const std::string &text)
void append(const octave_comment_elt &elt)
Definition: comment-list.h:91
octave_value_list & operator=(const octave_value_list &obj)
Definition: oct-obj.h:68