MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLBase/mlDiscList.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //--------------------------------------------------------------------------------------
00004 
00009 //--------------------------------------------------------------------------------------
00010 
00011 #ifndef __mlDiscList_H
00012 #define __mlDiscList_H
00013 
00014 //ML-includes
00015 #ifndef __mlBaseInit_H
00016 #include "mlBaseInit.h"
00017 #endif
00018 #ifndef __mlModuleIncludes_H
00019 #include <mlModuleIncludes.h>
00020 #endif
00021 
00022 #ifndef __mlLinearAlgebra_H
00023 #include <mlLinearAlgebra.h>
00024 #endif
00025 #ifndef __mlDisc_H
00026 #include <mlDisc.h>
00027 #endif
00028 
00029 
00030 ML_START_NAMESPACE
00031 
00032 // ------------------------------------------------------------------
00034 // ------------------------------------------------------------------
00035 class MLBASEEXPORT DiscList : public Base {
00036 
00037 public:
00038   DiscList() {};
00039   virtual ~DiscList() {};
00040 
00042   MLssize_t getNum() const;
00043 
00045   void getValue(MLssize_t index, Disc& obj) const;
00046 
00048   Disc getValue(MLssize_t index) const;
00049   
00051   Disc* getPtr(MLssize_t index = -1);
00052 
00054   void addValue(const Disc& obj);
00055   
00057   void setValue(MLssize_t index, const Disc& obj);
00058 
00060   void removeValue(MLssize_t index = -1);
00061 
00063   void clear();
00064 
00066   virtual char* getPersistentState() const;
00067   virtual void setPersistentState(const char* state);
00068   virtual void clearPersistentState(char* state) const;
00070   
00072   void print(const char* txt);
00073   
00074 private:
00075 
00077   ML_CLASS_HEADER(DiscList);
00078   
00080   std::vector<Disc> objects;
00081 };
00082 
00083 
00084 ML_END_NAMESPACE
00085 
00086 
00087 #endif // __mlDiscList_H