00001
00002 #ifndef _YAHOOTS_H_
00003 #define _YAHOOTS_H_
00004
00005
00006
00039
00040
00079 class yahooTS
00080 {
00081 private:
00082 const char *path_;
00083
00084 public:
00085
00086 typedef enum { badEnum,
00087 Open,
00088 High,
00089 Low,
00090 Close,
00091 Volume,
00092 lastEnum } dataKind;
00093
00094 yahooTS()
00095 {
00096 path_ = 0;
00097 };
00098 yahooTS( const char *p ) : path_(p) {}
00099
00100 const double *getTS( const char *fileName,
00101 double *a,
00102 size_t &N,
00103 dataKind kind ) const;
00104
00105 void path( const char *p ) { path_ = p; }
00106 const char *path() { return path_; }
00107
00108 private:
00109 const char *getStr_( char *&line,
00110 char *buf,
00111 size_t bufSize ) const;
00112
00113 void parseVals_( char *line,
00114 double *vals,
00115 const size_t n ) const;
00116
00117 const double getValue_( char *line,
00118 const yahooTS::dataKind kind ) const;
00119
00120 };
00121
00122
00123 #endif