LAMA
/home/brandes/workspace/LAMA/src/lama/pgas/PGASContextManager.hpp
Go to the documentation of this file.
00001 
00033 #ifndef LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_
00034 #define LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_
00035 
00036 #include <boost/weak_ptr.hpp>
00037 
00038 #include <lama/config.hpp>
00039 #include <lama/HostContext.hpp>
00040 #include <lama/ContextManager.hpp>
00041 
00042 namespace lama
00043 {
00044 
00045 class PGASContext;
00046 
00054 class LAMA_DLL_IMPORTEXPORT PGASContextManager : public ContextManager
00055 {
00056 
00057 public:
00058 
00059     virtual ContextPtr getContext();
00060 
00061     virtual ContextPtr getContext(int);
00062 
00063     ~PGASContextManager();
00064 
00065     static void setAsCurrent();
00066 
00067 private:
00068 
00069     PGASContextManager();
00070 
00071     static boost::weak_ptr<const class PGASContext> contextInstance;
00072 
00073     static PGASContextManager theInstance; // singleton instance of this class
00074 };
00075 
00076 }
00077 
00078 #endif // LAMA_CUDA_HOST_CONTEXT_MANAGER_HPP_