BIE |
/home/weinberg/src/BIE/include/BinaryFilters.h00001 // This is really -*- C++ -*- 00002 00003 #ifndef BinaryFilters_h 00004 #define BinaryFilters_h 00005 00006 #include <RecordStreamFilter.h> 00007 00008 #include "Serializable.h" 00009 00010 00011 namespace BIE { 00012 00013 //+ CLICLASS AdditionFilter SUPER RecordStreamFilter 00017 class AdditionFilter : public RecordStreamFilter { 00018 public: 00019 //+ CLICONSTR RecordStream* 00021 AdditionFilter(RecordStream * stream); 00022 00025 void compute(); 00026 00027 private: 00028 static const filterIn input []; 00029 static const filterOut output []; 00030 int x_index, y_index, sum_index; 00031 00032 // AUTO GENERATED BY ../persistence/autopersist.py 00033 protected: 00034 AdditionFilter() {} 00035 private: 00036 friend class boost::serialization::access; 00037 template<class Archive> 00038 void serialize(Archive & ar, const unsigned int version) { 00039 this->pre_serialize(ar, version); 00040 try { 00041 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(RecordStreamFilter); 00042 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00043 } 00044 try { 00045 ar & BOOST_SERIALIZATION_NVP(x_index); 00046 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00047 } 00048 try { 00049 ar & BOOST_SERIALIZATION_NVP(y_index); 00050 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00051 } 00052 try { 00053 ar & BOOST_SERIALIZATION_NVP(sum_index); 00054 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00055 } 00056 this->post_serialize(ar, version); 00057 } 00058 ; 00059 }; 00060 00061 //+ CLICLASS SubtractionFilter SUPER RecordStreamFilter 00066 class SubtractionFilter : public RecordStreamFilter { 00067 public: 00068 //+ CLICONSTR RecordStream* 00071 SubtractionFilter(RecordStream * stream); 00072 void compute(); 00073 00074 private: 00075 static const filterIn input []; 00076 static const filterOut output []; 00077 int x_index, y_index, difference_index; 00078 00079 // AUTO GENERATED BY ../persistence/autopersist.py 00080 protected: 00081 SubtractionFilter() {} 00082 private: 00083 friend class boost::serialization::access; 00084 template<class Archive> 00085 void serialize(Archive & ar, const unsigned int version) { 00086 this->pre_serialize(ar, version); 00087 try { 00088 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(RecordStreamFilter); 00089 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00090 } 00091 try { 00092 ar & BOOST_SERIALIZATION_NVP(x_index); 00093 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00094 } 00095 try { 00096 ar & BOOST_SERIALIZATION_NVP(y_index); 00097 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00098 } 00099 try { 00100 ar & BOOST_SERIALIZATION_NVP(difference_index); 00101 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00102 } 00103 this->post_serialize(ar, version); 00104 } 00105 00106 }; 00107 00108 //+ CLICLASS ProductFilter SUPER RecordStreamFilter 00112 class ProductFilter : public RecordStreamFilter { 00113 public: 00114 //+ CLICONSTR RecordStream* 00117 ProductFilter(RecordStream * stream); 00118 void compute(); 00119 00120 private: 00121 static const filterIn input []; 00122 static const filterOut output []; 00123 int x_index, y_index, product_index; 00124 00125 // AUTO GENERATED BY ../persistence/autopersist.py 00126 protected: 00127 ProductFilter() {} 00128 private: 00129 friend class boost::serialization::access; 00130 template<class Archive> 00131 void serialize(Archive & ar, const unsigned int version) { 00132 this->pre_serialize(ar, version); 00133 try { 00134 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(RecordStreamFilter); 00135 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00136 } 00137 try { 00138 ar & BOOST_SERIALIZATION_NVP(x_index); 00139 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00140 } 00141 try { 00142 ar & BOOST_SERIALIZATION_NVP(y_index); 00143 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00144 } 00145 try { 00146 ar & BOOST_SERIALIZATION_NVP(product_index); 00147 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00148 } 00149 this->post_serialize(ar, version); 00150 } 00151 00152 }; 00153 00154 //+ CLICLASS DivisionFilter SUPER RecordStreamFilter 00157 class DivisionFilter : public RecordStreamFilter { 00158 public: 00159 //+ CLICONSTR RecordStream* 00162 DivisionFilter(RecordStream * stream); 00163 void compute(); 00164 00165 private: 00166 static const filterIn input []; 00167 static const filterOut output []; 00168 int numerator_index, divisor_index, quotient_index; 00169 00170 // AUTO GENERATED BY ../persistence/autopersist.py 00171 protected: 00172 DivisionFilter() {} 00173 private: 00174 friend class boost::serialization::access; 00175 template<class Archive> 00176 void serialize(Archive & ar, const unsigned int version) { 00177 this->pre_serialize(ar, version); 00178 try { 00179 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(RecordStreamFilter); 00180 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00181 } 00182 try { 00183 ar & BOOST_SERIALIZATION_NVP(numerator_index); 00184 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00185 } 00186 try { 00187 ar & BOOST_SERIALIZATION_NVP(divisor_index); 00188 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00189 } 00190 try { 00191 ar & BOOST_SERIALIZATION_NVP(quotient_index); 00192 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00193 } 00194 this->post_serialize(ar, version); 00195 } 00196 00197 }; 00198 00199 //+ CLICLASS PowerFilter SUPER RecordStreamFilter 00202 class PowerFilter : public RecordStreamFilter { 00203 public: 00204 //+ CLICONSTR RecordStream* 00207 PowerFilter(RecordStream * stream); 00208 void compute(); 00209 00210 private: 00211 static const filterIn input []; 00212 static const filterOut output []; 00213 int x_index, exponent_index, power_index; 00214 00215 // AUTO GENERATED BY ../persistence/autopersist.py 00216 protected: 00217 PowerFilter() {} 00218 private: 00219 friend class boost::serialization::access; 00220 template<class Archive> 00221 void serialize(Archive & ar, const unsigned int version) { 00222 this->pre_serialize(ar, version); 00223 try { 00224 ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(RecordStreamFilter); 00225 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00226 } 00227 try { 00228 ar & BOOST_SERIALIZATION_NVP(x_index); 00229 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00230 } 00231 try { 00232 ar & BOOST_SERIALIZATION_NVP(exponent_index); 00233 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00234 } 00235 try { 00236 ar & BOOST_SERIALIZATION_NVP(power_index); 00237 BIE_CATCH_BOOST_SERIALIZATION_EXCEPTION; 00238 } 00239 this->post_serialize(ar, version); 00240 } 00241 00242 }; 00243 00244 } 00245 00246 00247 BIE_CLASS_TYPE_INFO(BIE::AdditionFilter) 00248 BIE_CLASS_TYPE_INFO(BIE::SubtractionFilter) 00249 BIE_CLASS_TYPE_INFO(BIE::ProductFilter) 00250 BIE_CLASS_TYPE_INFO(BIE::DivisionFilter) 00251 BIE_CLASS_TYPE_INFO(BIE::PowerFilter) 00252 BIE_CLASS_EXPORT_KEY(BIE::AdditionFilter) 00253 BIE_CLASS_EXPORT_KEY(BIE::SubtractionFilter) 00254 BIE_CLASS_EXPORT_KEY(BIE::ProductFilter) 00255 BIE_CLASS_EXPORT_KEY(BIE::DivisionFilter) 00256 BIE_CLASS_EXPORT_KEY(BIE::PowerFilter) 00257 #endif Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU. Documentation generated at Fri Mar 26 00:35:10 2010 by
|