📄 section.h
字号:
/* HYSDEL Copyright (C) 1999-2002 Fabio D. Torrisi This file is part of HYSDEL. HYSDEL is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. HYSDEL is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA CONTACT INFORMATION =================== Fabio D. Torrisi ETH Zentrum Physikstrasse. 3 ETL, CH-8032 Zurich Switzerland mailto:torrisi@aut.ee.ethz.ch (preferred)*/#ifndef D_SECTION#define D_SECTION#include <list>#include <string>#include <assert.h>#ifndef STD_NS#define STD_NSusing namespace std;#endif#include "Item.h"class MLD_representation;class Globals;class Implementation;/** Superclass for all Sections. For all sections allowed in the * IMPLEMENTATION-part, there is a subclass. */class Section {public: Section(list < Item * > * l, string name, const Globals * glob); virtual ~Section(); /** translate the entire Section into the MLD-matrices. */ MLD_representation * translate_MLD() const; /** some items require the creation of other items. * All these extra items are gathered into a section and returned */ Section * unroll(); /** sets the min, max and eps values for all Items that require it */ void compute_minmaxeps(); /** the identifier is the name of the class without * "_section" at the end */ virtual string get_ident() const { return string("base"); } /** set the section pointer of all items */ void propagate_section(); void semantic_checks(); string arg_range_check_matlab() const; void comp_group_numbers(); friend class Implementation;protected: /** how should the section be called that this section unrolls */ virtual string unrolled_section_name() const; const Globals * globals; /** A collection of Items. Each item corresponds to a statement * in the hysdel input file. Each subclass of Section should * only insert instances of the corresponding subclass of Item. * @supplierCardinality 0..* * @associates <{Item}> * @directed */ list < Item * > * content; typedef list < Item * >::iterator content_iter; /** the name of the section */ string name;};#endif //D_SECTION
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -