My Project
|
00001 /* 00002 $Id: OperatorBase.hh 1958 2008-08-12 00:06:30Z jisuzuki $ 00003 */ 00004 00005 00006 #ifndef OPERATORBASE_HH 00007 #define OPERATORBASE_HH 00008 #include "Header.hh" 00009 00010 00012 00036 template < class T1, class T2 > 00037 class OperatorBase 00038 { 00039 private: 00040 vector< T1* > InputVec; 00041 vector< T2* > OutputVec; 00042 00043 protected: 00044 T1 *PutInput( UInt4 index=0 ){ return InputVec[index]; } 00050 void SetOutput( T2* OutputObj ); 00057 public: 00058 OperatorBase(); 00061 virtual ~OperatorBase(); 00067 void SetInput( T1 InputObj ); 00068 void SetInputP( T1 *InputObj ); 00076 T2 Put( UInt4 index=0 ); 00087 UInt4 InputObjNumber() { return InputVec.size(); } 00091 UInt4 OutputObjNumber(){ return OutputVec.size(); } 00096 void Clear(); 00103 }; 00104 00105 #include "OperatorBase.cc" 00106 #endif