00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxBpoMulAssign_h
00012 #define HxBpoMulAssign_h
00013
00014 #include "HxTagList.h"
00015 #include "HxClassName.h"
00016 #include "HxScalarInt.h"
00017
00018
00021 template<class DstValT, class SrcValT>
00022 struct HxBpoMulAssign
00023 {
00024 typedef DstValT ArithType;
00025
00027 HxBpoMulAssign(HxTagList&)
00028 {}
00029
00031 void doIt(DstValT& x, const SrcValT& y)
00032 { x *= y; }
00033
00034 static DstValT neutralElement()
00035 { return DstValT(HxScalarInt(0)); }
00036
00038 static HxString className()
00039 { return HxString("mulAssign"); }
00040 };
00041
00042 #endif