Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

V2StateCollector.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2000 KOM/Darmstadt University of Technology
00003  *
00004  * This program is free software; you can redistribute it and/or modify it
00005  * under the terms of the GNU General Public License as published by the
00006  * Free Software Foundation; either version 2, or (at your option) any
00007  * later version.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00017  * USA.
00018  */
00019 #ifndef V2_STATE_COLLECTOR_H
00020 #define V2_STATE_COLLECTOR_H
00021 
00022 #include "V1States.h"
00023 #include "MNArray.h"
00024 #include "MNList.h"
00025 
00026 class V1Transition;
00027 
00028 class V2StateCollector;
00029 class V2StateVector;
00030 
00031 /***********************************************************************
00032  * StateArrayEntry
00033  ***********************************************************************/
00034 
00035 class StateArrayEntry
00036 {
00037     int            _kind;
00038     V2StateVector* _vector;
00039 
00040 public:
00041     StateArrayEntry( int kind, V2StateVector* vector );
00042 
00043     int            kind();
00044     V2StateVector* vector();
00045 };
00046 
00047 /***********************************************************************
00048  * StateTransitionArray
00049  ***********************************************************************/
00050 
00051 class StateTransitionArray : public MNArrayN<StateArrayEntry*>
00052 {
00053     int  _dim_count_WSD;  // with signal dimension
00054     int* _dimensions;
00055 public:
00056     StateTransitionArray( );
00057 
00058     MNArrayN<StateArrayEntry*>& array();
00059     int                         dimCount( );
00060     int                         dimCountWithSignals( );
00061     int*                        dimensions( );
00062 };
00063 
00064 /***********************************************************************
00065  * V2StateCollector
00066  ***********************************************************************/
00067 
00068 class V2StateCollector
00069 {
00070     MNList<V2StateVector*>  _source;
00071     MNList<V2StateVector*>  _target;
00072     V2StateVector*          _initial;
00073 
00074 private:
00075     int  v2verifyGTOrecursive   ( int                         d,
00076                                   int                         maxd,
00077                                   int*                        p,
00078                                   MNArrayN<StateArrayEntry*>& array,
00079                                   V2StateVector*              v );
00080     int  v2verifyGTOinitialized ( int                         d,
00081                                   int                         maxd,
00082                                   int*                        p,
00083                                   MNArrayN<StateArrayEntry*>& array );
00084 
00085     StateTransitionArray* v2createTransitionArray();
00086 
00087 public:
00088     V2StateCollector( V1StateCollector& v1col );
00089 
00090     V2StateVector* getInitial( );
00091     void v2verifyGenericTransitionOverlap ( StateTransitionArray* sta );
00092 };
00093 
00094 #endif /* V2_STATE_COLLECTOR_H */
00095 

Generated on Sat Mar 23 18:58:40 2002 for Komssys-mkauto by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002