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

/magnus/back_end/SessionManager/include/SMSetOfWords.h

Go to the documentation of this file.
00001 /*
00002 
00003  */
00004 
00005 // Copyright (C) 1995 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 
00008 // Contents: Declaration of class SMSetOfWords
00009 //
00010 // Principal Author: Dmitry Bormotov
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 // * 11/10/96 EP fixed the implementation: Vectors replaced with true Sets
00017 
00018 #ifndef _SMSetOfWords_H_
00019 #define _SMSetOfWords_H_
00020 
00021 #include "AlgebraicObject.h"
00022 #include "SMFPGroup.h"
00023 #include "conversions.h"
00024 
00025 
00026 //--------------------------- SMSetOfWords ----------------------------------//
00027 
00028 
00029 class SMSetOfWords : public AlgebraicObject
00030 {
00031 public:
00032 
00033   /////////////////////////////////////////////////////////////////////////
00034   //                                                                     //
00035   // Constructors:                                                       //
00036   //                                                                     //
00037   /////////////////////////////////////////////////////////////////////////
00038 
00039   SMSetOfWords(SMFPGroup& G, const SetOf<Word>& V, const Chars heritage);
00040   //@ep changed
00041 
00042   SMSetOfWords(SMFPGroup& G)
00043     : AlgebraicObject(""), theGroup(G), theWords(0)
00044   { }
00045   //@rn Bogus ctor; see `But no' comment in Menu.h
00046 
00047   /////////////////////////////////////////////////////////////////////////
00048   //                                                                     //
00049   // Accessors:                                                          //
00050   //                                                                     //
00051   /////////////////////////////////////////////////////////////////////////
00052 
00053   VectorOf<Word> getWords( ) const { return makeVectorOf(theWords); }
00054 
00055   SMFPGroup& getParent( ) const { return theGroup; }
00056 
00057   /////////////////////////////////////////////////////////////////////////
00058   //                                                                     //
00059   // Front End Interfacing:                                              //
00060   //                                                                     //
00061   /////////////////////////////////////////////////////////////////////////
00062 
00063   static const char* type( ) { return "SMSetOfWords"; }
00064 
00065   const char* typeID( ) const { return type(); }          // overrides SMObject
00066 
00067   const IconID iconID( ) const { return IconID::SetOfWords; }
00068   // overrides SMObject
00069 
00070   void viewStructure(ostream& ostr) const;                // overrides SMObject
00071 
00072   void printProperties(ostream& ostr) const;              // overrides SMObject
00073 
00074   void printDefinition(ostream& ostr) const;              // overrides SMObject
00075 
00076 
00077 protected:
00078 
00079   /////////////////////////////////////////////////////////////////////////
00080   //                                                                     //
00081   // Restricted Access:                                                  //
00082   //                                                                     //
00083   /////////////////////////////////////////////////////////////////////////
00084 
00085   void readMessage(istream&) { }                        // overrides SMObject
00086 
00087 
00088 private:
00089 
00090   /////////////////////////////////////////////////////////////////////////
00091   //                                                                     //
00092   // Data Members:                                                       //
00093   //                                                                     //
00094   /////////////////////////////////////////////////////////////////////////
00095 
00096   const SetOf<Word> theWords;
00097 
00098   SMFPGroup& theGroup;
00099 
00100 };
00101 
00102 #endif

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