Changeset 15 in flair-src for trunk/lib/FlairSimulator/src/DiscreteTimeVariable.h
- Timestamp:
- 04/08/16 15:40:57 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/FlairSimulator/src/DiscreteTimeVariable.h
r10 r15 20 20 #include <stdlib.h> 21 21 22 namespace flair 23 { 24 namespace simulator 25 { 26 template <typename T,size_t size> 27 class DiscreteTimeVariable 28 { 29 public: 30 DiscreteTimeVariable(){}; 31 ~DiscreteTimeVariable(){}; 32 T& operator[](ssize_t idx) 33 { 34 if(idx>0) idx=0; 35 if(idx<(ssize_t)(-size+1)) idx=-size+1; 36 return array[-idx]; 37 } 38 const T&operator[](ssize_t idx) const 39 { 40 return const_cast<T&>(*this)[idx]; 41 }; 42 void Update(void) 43 { 44 for(int i=size-1;i>0;i--) 45 { 46 array[i]=array[i-1]; 47 } 48 } 22 namespace flair { 23 namespace simulator { 24 template <typename T, size_t size> class DiscreteTimeVariable { 25 public: 26 DiscreteTimeVariable(){}; 27 ~DiscreteTimeVariable(){}; 28 T &operator[](ssize_t idx) { 29 if (idx > 0) 30 idx = 0; 31 if (idx < (ssize_t)(-size + 1)) 32 idx = -size + 1; 33 return array[-idx]; 34 } 35 const T &operator[](ssize_t idx) const { 36 return const_cast<T &>(*this)[idx]; 37 }; 38 void Update(void) { 39 for (int i = size - 1; i > 0; i--) { 40 array[i] = array[i - 1]; 41 } 42 } 49 43 50 private: 51 T array[size]; 52 53 }; 44 private: 45 T array[size]; 46 }; 54 47 } // end namespace simulator 55 48 } // end namespace flair
Note:
See TracChangeset
for help on using the changeset viewer.