GNU Octave  3.8.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-2013 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