00001 /******************************************************************************* 00002 * Copyright (c) 2006 International Business Machines Corporation 00003 * All rights reserved. This program and the accompanying materials 00004 * are made available under the terms of the Common Public License v1.0 00005 * which accompanies this distribution, and is available at 00006 * http://www.opensource.org/licenses/cpl1.0.php 00007 * 00008 * Contributors: 00009 * Douglas Sprague, Joel Wheeler - initial API and implementation 00010 * 00011 *****************************************************************************/ 00012 00013 #ifndef STILVariable_H 00014 #define STILVariable_H 00015 00016 #include "stilcom.h" // Common 00017 #include "stilcomstr.h" 00018 #include <list> // STL doubly linked list class 00019 #include "stilblock.h" // STIL Block common base class 00020 00021 //--------------------------------------------------------------------------- 00029 //--------------------------------------------------------------------------- 00030 class STILVariable : public STILBlock { 00031 00032 // - Global std::ostream << operator as friend to output STILVariable object 00033 friend std::ostream& operator<<( std::ostream &os, const STILVariable &); 00034 00035 public: 00036 00037 // - Default Constructor 00038 STILVariable(); 00039 00040 // - Copy Constructor 00041 STILVariable(const STILVariable &); 00042 00043 // - Destructor which frees storage associated to a STILVariable object 00044 virtual ~STILVariable(); 00045 00046 // - Assignment operator 00047 STILVariable & operator=(const STILVariable &); 00048 00049 // - Member function to initialize an object 00050 void init(); 00051 00052 // - Member function to write the object 00053 virtual void write(FILE * pOutFile, LONG indentation=0) const; 00054 00055 00056 00057 private: 00058 00059 //********************************************************************** 00060 //********************************************************************** 00061 // stub stub stub stub stub stub stub stub stub stub stub * 00062 //********************************************************************** 00063 //********************************************************************** 00064 00065 }; // end STILVariable class 00066 00067 00068 #endif 00069