00001 00010 /* FAU Discrete Event Systems Library (libfaudes) 00011 00012 Copyright (C) 2006 Bernd Opitz 00013 Exclusive copyright is granted to Klaus Schmidt 00014 00015 This library is free software; you can redistribute it and/or 00016 modify it under the terms of the GNU Lesser General Public 00017 License as published by the Free Software Foundation; either 00018 version 2.1 of the License, or (at your option) any later version. 00019 00020 This library is distributed in the hope that it will be useful, 00021 but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00023 Lesser General Public License for more details. 00024 00025 You should have received a copy of the GNU Lesser General Public 00026 License along with this library; if not, write to the Free Software 00027 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ 00028 00029 00030 #ifndef OP_PARTITION_H 00031 00032 #include <libfaudes.h> 00033 #include <vector> 00034 #include <map> 00035 #include <op_debug.h> 00036 00037 00038 using namespace faudes; 00039 using namespace std; 00040 00041 namespace faudes { 00042 00046 struct Partition { 00047 00049 Partition(); 00050 00052 Idx index; 00053 00055 StateSet states; 00056 00058 Partition* pFather; 00059 00061 Partition* pBrother; 00062 00064 Partition* pFirstChild; 00065 00067 Partition* pSecondChild; 00068 00070 bool nonSplitting; 00071 00073 map<Idx,map<Idx,Idx> > infoMap; 00074 00081 void writeInfoMap(Idx event) const; 00082 00084 Idx numberOfStates; 00085 }; 00086 00087 } 00088 00089 #define OP_PARTITION_H 00090 #endif