00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxBpoBind2Val_h
00010 #define HxBpoBind2Val_h
00011
00012 #include "HxTagList.h"
00013 #include "HxClassName.h"
00014 #include "HxCategories.h"
00015
00016
00021 template<class DstValT, class SrcValT, class BpoOpT>
00022 class HxBpoBind2Val
00023 {
00024 public:
00026 typedef HxTagTransInVar TransVarianceCategory;
00027
00029 HxBpoBind2Val(HxTagList& tags) : _bpoOp(tags)
00030 { _value = HxGetTag<HxValue>(tags, "value"); }
00031
00033 DstValT doIt(const SrcValT& x)
00034 { return _bpoOp.doIt(x, _value); }
00035
00037 static HxString className()
00038 { return BpoOpT::className(); }
00039
00040 private:
00041 SrcValT _value;
00042 BpoOpT _bpoOp;
00043 };
00044
00045 #endif