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

/magnus/back_end/KB/include/GenMult.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: GenMult.h,v 1.2 1996/08/15 18:55:42 bormotov Exp $
00003  */
00004 
00005 // Copyright (C) 1994 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 
00008 // Contents: The deterministic finite state automaton class
00009 //
00010 // Principal Author: Sarah Rees
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 
00017 #ifndef _GenMult_H_
00018 #define _GenMult_H_
00019 
00020 #include "Word.h"
00021 #include "Set.h"
00022 #include "Vector.h"
00023 #include "FSA.h"
00024 #include "DFSA.h"
00025 #include "GenMultRep.h"
00026 
00027 class GenMult : public FSA {
00028 // this should surely be derived from DFSA but I can't get the
00029 // constructor to work except by doing this
00030 public:
00031   GenMult( ) : FSA( new GenMultRep() ) { };
00032 
00033   GenMult( const VectorOf<Chars> &  genNames ) :
00034   FSA( new GenMultRep( genNames) ) { }
00035 
00036   GenMult( const VectorOf<Chars> & genNames, const WordOrder & word_order) :
00037   FSA( new GenMultRep( genNames,word_order) ) { }
00038 
00039 protected:
00040   // Need to shadow inherited look() and change(), to get right ptr types.
00041   const GenMultRep *look() const { 
00042     return (GenMultRep*)FSA::look(); }
00043   GenMultRep *change() { 
00044     return (GenMultRep*)FSA::change(); }
00045 };
00046 #endif

Generated at Tue Jun 19 09:49:36 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001