00001 /* 00002 * Copyright (c) 2002, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * 00006 * Author(s): 00007 * Dennis Koelma (koelma@science.uva.nl) 00008 */ 00009 00010 #ifndef HxBlob2dFeatureTem_h 00011 #define HxBlob2dFeatureTem_h 00012 00013 00014 #include "HxBlob2dFeature.h" 00015 00016 00019 template <class ValT> 00020 class L_HXBASIS HxBlob2dFeatureTem: public HxBlob2dFeature { 00021 public: 00023 HxBlob2dFeatureTem(const ValT v); 00024 00026 virtual ~HxBlob2dFeatureTem(); 00027 00029 virtual HxBlob2dFeature* clone() const; 00030 00032 ValT getValue() const; 00033 00034 protected: 00036 HxBlob2dFeatureTem(const HxBlob2dFeatureTem& rhs); 00037 00038 private: 00039 HxBlob2dFeatureTem() {} 00040 ValT _value; 00041 }; 00042 00043 template <class ValT> 00044 inline 00045 HxBlob2dFeatureTem<ValT>::HxBlob2dFeatureTem(const ValT v) 00046 : _value(v) 00047 { 00048 } 00049 00050 template <class ValT> 00051 inline 00052 HxBlob2dFeatureTem<ValT>::HxBlob2dFeatureTem(const HxBlob2dFeatureTem& rhs) 00053 : _value(rhs._value) 00054 { 00055 } 00056 00057 template <class ValT> 00058 HxBlob2dFeatureTem<ValT>::~HxBlob2dFeatureTem() 00059 { 00060 } 00061 00062 template <class ValT> 00063 HxBlob2dFeature* 00064 HxBlob2dFeatureTem<ValT>::clone() const 00065 { 00066 return new HxBlob2dFeatureTem(*this); 00067 } 00068 00069 template <class ValT> 00070 inline ValT 00071 HxBlob2dFeatureTem<ValT>::getValue() const 00072 { 00073 return _value; 00074 } 00075 00076 00077 #endif