00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef HxImportBytes_h
00010 #define HxImportBytes_h
00011
00012 #include "HxCategories.h"
00013 #include "HxTagList.h"
00014 #include "HxByte.h"
00015 #include "HxScalarInt.h"
00016
00017 template<class ArithT>
00018 class HxImportBytes
00019 {
00020 public:
00021 typedef HxTagPixOpIn DirectionCategory;
00022 typedef HxTagTransInVar TransVarianceCategory;
00023 typedef HxTag1Phase PhaseCategory;
00024
00025 HxImportBytes(HxTagList&);
00026
00027 ArithT doIt();
00028
00029 static HxString className();
00030 private:
00031 HxByte* _data;
00032 };
00033
00034
00035 template<class ArithT>
00036 inline
00037 HxImportBytes<ArithT>::HxImportBytes(HxTagList& tags)
00038 {
00039 _data = HxGetTag<HxByte*>(tags, "dataPtr", ((HxByte*)0));
00040 }
00041
00042 template<class ArithT>
00043 inline HxString
00044 HxImportBytes<ArithT>::className()
00045 {
00046 static HxString name("importBytes");
00047 return name;
00048 }
00049
00050 template<class ArithT>
00051 inline ArithT
00052 HxImportBytes<ArithT>::doIt()
00053 {
00054 int b = *_data++;
00055 return HxScalarInt(b);
00056 }
00057
00058 #endif