00001 #ifndef Impala_Core_Matrix_IDistributedAccess_h
00002 #define Impala_Core_Matrix_IDistributedAccess_h
00003
00004
00005 namespace Impala
00006 {
00007
00008
00009
00010
00011
00012 class IDistributedAccess
00013 {
00014 public:
00015 virtual bool Valid() = 0;
00016 virtual int GetRows() = 0;
00017 virtual int GetColumns() = 0;
00018
00019 virtual void Subscribe() = 0;
00020 virtual void Unsubscribe() = 0;
00021 virtual int GetRow(int index, double* buffer, int bufferlength) = 0;
00022 virtual int GetColumn(int index, double* buffer, int bufferlength) = 0;
00023 virtual int GetDiagonal(double* buffer, int bufferlength) = 0;
00024 };
00025
00026
00027
00028 }
00029
00030 #endif
00031