00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef __GB_GenericDataIndex_h__
00036 #define __GB_GenericDataIndex_h__
00037 #include "GB_API.h"
00038 #include <SYS/SYS_Types.h>
00039
00040 class GB_GenericData;
00041
00042 class GB_API GB_GenericDataIndex
00043 {
00044 public:
00045
00046
00047 bool isValid() const;
00048
00049
00050 const GB_GenericDataIndex &operator++() const;
00051 GB_GenericDataIndex &operator++();
00052
00053
00054 void setF(fpreal val);
00055 fpreal getF() const;
00056
00057 void setI(int val);
00058 int getI() const;
00059
00060 private:
00061
00062 GB_GenericDataIndex(GB_GenericData &data, int real_index, bool is_sparse):
00063 myRealIndex(real_index),
00064 myData(data),
00065 myIsSparse(is_sparse),
00066 myIsReadOnly(false) {}
00067
00068 GB_GenericDataIndex(const GB_GenericData &data, int real_index,
00069 bool is_sparse) :
00070 myRealIndex(real_index),
00071 myData((GB_GenericData &)data),
00072 myIsSparse(is_sparse),
00073 myIsReadOnly(true) {}
00074
00075 GB_GenericDataIndex(const GB_GenericDataIndex &d) :
00076 myRealIndex(d.myRealIndex),
00077 myData(d.myData),
00078 myIsSparse(d.myIsSparse),
00079 myIsReadOnly(d.myIsReadOnly){}
00080
00081
00082
00083
00084
00085 mutable int myRealIndex;
00086
00087
00088 GB_GenericData &myData;
00089
00090
00091
00092 bool myIsSparse;
00093
00094 bool myIsReadOnly;
00095
00096 friend class GB_GenericData;
00097 };
00098
00099 #endif