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 STILShift_H 00014 #define STILShift_H 00015 00016 #include "stilblock.h" // STIL Block Interface (base class) 00017 #include "stilpatternblock.h" // STIL PatternBlock Interface 00018 00019 //--------------------------------------------------------------------------- 00025 //--------------------------------------------------------------------------- 00026 class STILShift : public STILPatternBlock { 00027 00028 // - Public members 00029 public: 00030 00031 // - Default Constructor 00032 STILShift(); 00033 00034 // - Construct given some entity type 00035 STILShift(Type t); 00036 00037 // - Copy Constructor 00038 STILShift(const STILShift &); 00039 00040 // - Destructor 00041 virtual ~STILShift(); 00042 00043 // - Assignment operator 00044 STILShift & operator=(const STILShift &); 00045 00046 // - Initializer 00047 void init(); 00048 00049 // - Write contents to a file 00050 virtual void write(FILE * pOutFile, LONG indentation=0) const; 00051 00052 00053 // - Set the number of times to shift 00054 void setCount (unsigned int times); 00055 00056 // - Get the number of times to shift 00057 unsigned int getCount() const; 00058 00059 // Private section 00060 private: 00061 unsigned int m_count; 00062 00063 }; // end STILShift class 00064 00065 //Inline functions 00066 //-------------------------------------------------------------------------- 00074 //-------------------------------------------------------------------------- 00075 inline void STILShift::setCount (unsigned int times) { 00076 m_count = times; 00077 } 00078 00079 //-------------------------------------------------------------------------- 00087 //-------------------------------------------------------------------------- 00088 inline unsigned int STILShift::getCount () const { return m_count; } 00089 00090 #endif