00001 #ifndef CVD_INTERNAL_SIMPLE_VECTOR_H 00002 #define CVD_INTERNAL_SIMPLE_VECTOR_H 00003 00004 namespace CVD{ 00005 namespace Internal{ 00006 00007 00008 template<class T> class simple_vector 00009 { 00010 private: 00011 T* dat; 00012 00013 public: 00014 simple_vector(size_t n) 00015 :dat(new T[n]) 00016 {} 00017 00018 T* data() 00019 { 00020 return dat; 00021 } 00022 00023 T& operator[](size_t n) 00024 { 00025 return dat[n]; 00026 } 00027 00028 ~simple_vector() 00029 { 00030 delete[] dat; 00031 } 00032 }; 00033 00034 00035 }} 00036 00037 #endif