HomogeneousDevCol.h

Go to the documentation of this file.
00001 // Copyright CERN 2012 - Developed in collaboration with GSI
00002 
00003 #ifndef _HOMOGENEOUS_DEV_COL_H_
00004 #define _HOMOGENEOUS_DEV_COL_H_
00005 
00006 #include <vector>
00007 #include <set>
00008 #include <string>
00009 
00010 #include <stdint.h>
00011 
00012 namespace fesa
00013 {
00014 
00015 class AbstractDevice;
00016 
00022 class HomogeneousDevCol
00023 {
00024   public:
00029     std::vector<AbstractDevice *> getAsVector();
00030     int32_t getSize();
00031     HomogeneousDevCol();
00032 
00033     std::set<AbstractDevice*>* getDevCol();
00034     void setDevCol(std::set<AbstractDevice *> col);
00035 
00036     std::string getSharedCriteria();
00037     void setSharedCriteria(std::string sharedCriteria);
00038 
00039   private:
00040     std::set<AbstractDevice *> devCol_;
00041     std::string sharedCriteria_;
00042 };
00043 
00044 HomogeneousDevCol operator+(HomogeneousDevCol, HomogeneousDevCol); // set union
00045 HomogeneousDevCol operator^(HomogeneousDevCol, HomogeneousDevCol); // intersection
00046 
00047 inline std::set<AbstractDevice*>* HomogeneousDevCol::getDevCol()
00048 {
00049     return &devCol_;
00050 }
00051 
00052 inline std::string HomogeneousDevCol::getSharedCriteria()
00053 {
00054     return sharedCriteria_;
00055 }
00056 
00057 inline void HomogeneousDevCol::setSharedCriteria(std::string sharedCriteria)
00058 {
00059     sharedCriteria_ = sharedCriteria;
00060 }
00061 
00062 inline void HomogeneousDevCol::setDevCol(std::set<AbstractDevice *> col)
00063 {
00064     devCol_ = col;
00065 }
00066 
00067 } // fesa
00068 
00069 #endif // _HOMOGENEOUS_DEV_COL_H_

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1