Octave-Forge - Extra packages for GNU Octave | |
Home · Packages · Developers · Documentation · FAQ · Bugs · Mailing Lists · Links · Code |
00001 /* 00002 00003 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 00004 2008, 2009 John W. Eaton 00005 00006 This file is part of Octave. 00007 00008 Octave is free software; you can redistribute it and/or modify it 00009 under the terms of the GNU General Public License as published by the 00010 Free Software Foundation; either version 3 of the License, or (at your 00011 option) any later version. 00012 00013 Octave is distributed in the hope that it will be useful, but WITHOUT 00014 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00015 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with Octave; see the file COPYING. If not, see 00020 <http://www.gnu.org/licenses/>. 00021 00022 */ 00023 00024 #if !defined (octave_tree_cell_h) 00025 #define octave_tree_cell_h 1 00026 00027 #include <iosfwd> 00028 00029 class octave_value; 00030 class octave_value_list; 00031 class tree_argument_list; 00032 00033 class tree_walker; 00034 00035 #include "pt-mat.h" 00036 #include "symtab.h" 00037 00038 // General cells. 00039 00040 class 00041 tree_cell : public tree_matrix 00042 { 00043 public: 00044 00045 tree_cell (tree_argument_list *row = 0, int l = -1, int c = -1) 00046 : tree_matrix (row, l, c) { } 00047 00048 ~tree_cell (void) { } 00049 00050 bool rvalue_ok (void) const { return true; } 00051 00052 octave_value rvalue1 (int nargout = 1); 00053 00054 octave_value_list rvalue (int); 00055 00056 tree_expression *dup (symbol_table::scope_id scope, 00057 symbol_table::context_id context) const; 00058 00059 void accept (tree_walker& tw); 00060 00061 private: 00062 00063 // No copying! 00064 00065 tree_cell (const tree_cell&); 00066 00067 tree_cell& operator = (const tree_cell&); 00068 }; 00069 00070 #endif 00071 00072 /* 00073 ;;; Local Variables: *** 00074 ;;; mode: C++ *** 00075 ;;; End: *** 00076 */