00001 // Emacs -*- C++ -*- 00002 #ifndef ANAPHE_AIDADATAPOINT 00003 #define ANAPHE_AIDADATAPOINT 1 00004 00005 #include "AIDA/IDataPoint.h" 00006 00007 // forward declarations 00008 namespace AIDA { 00009 class IMeasurement; 00010 } 00011 00012 namespace Anaphe { 00013 namespace AIDA_DataPointSet_native { 00014 00016 00017 class AIDA_DataPoint : virtual public AIDA::IDataPoint 00018 { 00019 public: 00021 AIDA_DataPoint( int dimension ); 00023 AIDA_DataPoint( const AIDA_DataPoint& dp ); 00025 AIDA_DataPoint( const AIDA::IDataPoint& dp ); 00027 AIDA_DataPoint& operator=( const AIDA_DataPoint& dp ); 00028 AIDA::IDataPoint& operator=( const AIDA::IDataPoint& dp ); 00029 00031 ~AIDA_DataPoint(); 00032 00034 int dimension() const; 00035 AIDA::IMeasurement* coordinate( int c ); 00036 const AIDA::IMeasurement* coordinate( int c ) const; 00037 00038 private: 00039 int m_dimension; 00040 AIDA::IMeasurement** m_measurements; 00041 }; 00042 00043 } 00044 } 00045 00046 // inline methods 00047 #include "AIDA_DataPoint.inl" 00048 00049 #endif /* ifndef ANAPHE_AIDADATAPOINT */