00001
00002
00014 #ifndef RTUPLE_H
00015 #define RTUPLE_H
00016
00017 #ifdef _MSC_VER
00018 # pragma warning(disable:4290) // exception spec ignored except to indicate
00019 #endif
00020
00021 #include "DataSource.h"
00022
00023 namespace hippodraw {
00024
00030 class MDL_HIPPOPLOT_API RTuple : public DataSource
00031 {
00032
00033 private:
00034
00039 std::vector< std::vector<double> *> m_data;
00040
00044 RTuple ( const RTuple & nt);
00045
00046 public:
00047
00050 RTuple ( const std::vector < std::string > & labels );
00051
00056 RTuple ( unsigned int n );
00057
00060 virtual ~RTuple();
00061
00062 virtual void copy ( const DataSource & other );
00063
00067 virtual void clear();
00068 virtual void reserve ( unsigned int count );
00069
00072 virtual bool empty () const;
00073
00076 virtual unsigned int rows () const;
00077
00084 virtual void addRow ( const std::vector<double> & v );
00085
00091 virtual const std::vector < double > & getRow ( unsigned int index ) const;
00092
00093 virtual double
00094 operator [] ( std::vector < unsigned int > & indices ) const;
00095
00096 virtual double valueAt ( unsigned int row, unsigned int column ) const;
00097
00098 };
00099
00100 }
00101
00102 #endif // RTUPLE_H