DeviceInfo class method that were implemented in header moved to cpp file.
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 18 Dec 2013 08:02:15 +0000 (12:02 +0400)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 18 Dec 2013 08:02:15 +0000 (12:02 +0400)
modules/core/include/opencv2/core/gpumat.hpp
modules/core/src/gpumat.cpp
modules/core/src/gpumat_cuda.hpp

index 7556604..d0f415e 100644 (file)
@@ -112,13 +112,13 @@ namespace cv { namespace gpu
         // Creates DeviceInfo object for the given GPU
         DeviceInfo(int device_id) : device_id_(device_id) { query(); }
 
-        std::string name() const { return name_; }
+        std::string name() const;
 
         // Return compute capability versions
-        int majorVersion() const { return majorVersion_; }
-        int minorVersion() const { return minorVersion_; }
+        int majorVersion() const;
+        int minorVersion() const;
 
-        int multiProcessorCount() const { return multi_processor_count_; }
+        int multiProcessorCount() const;
 
         size_t sharedMemPerBlock() const;
 
@@ -132,7 +132,7 @@ namespace cv { namespace gpu
         // Checks whether the GPU module can be run on the given device
         bool isCompatible() const;
 
-        int deviceID() const { return device_id_; }
+        int deviceID() const;
 
     private:
         // Private section is fictive to preserve bin compatibility.
index 7e4eab4..dc24b6e 100644 (file)
@@ -170,6 +170,11 @@ size_t cv::gpu::DeviceInfo::freeMemory() const { return deviceInfoFuncTable()->f
 size_t cv::gpu::DeviceInfo::totalMemory() const { return deviceInfoFuncTable()->totalMemory(); }
 bool cv::gpu::DeviceInfo::supports(FeatureSet feature_set) const { return deviceInfoFuncTable()->supports(feature_set); }
 bool cv::gpu::DeviceInfo::isCompatible() const { return deviceInfoFuncTable()->isCompatible(); }
+int cv::gpu::DeviceInfo::deviceID() const { return deviceInfoFuncTable()->deviceID(); };
+int cv::gpu::DeviceInfo::majorVersion() const { return deviceInfoFuncTable()->majorVersion(); }
+int cv::gpu::DeviceInfo::minorVersion() const { return deviceInfoFuncTable()->minorVersion(); }
+std::string cv::gpu::DeviceInfo::name() const { return deviceInfoFuncTable()->name(); }
+int cv::gpu::DeviceInfo::multiProcessorCount() const { return deviceInfoFuncTable()->multiProcessorCount(); }
 void cv::gpu::DeviceInfo::query() { deviceInfoFuncTable()->query(); }
 
 void cv::gpu::printCudaDeviceInfo(int device) { gpuFuncTable()->printCudaDeviceInfo(device); }
index 56d626a..83172d5 100644 (file)
         virtual bool supports(FeatureSet) const = 0;
         virtual bool isCompatible() const = 0;
         virtual void query() = 0;
+        virtual int deviceID() const = 0;
+        virtual std::string name() const = 0;
+        virtual int majorVersion() const = 0;
+        virtual int minorVersion() const = 0;
+        virtual int multiProcessorCount() const = 0;
         virtual ~DeviceInfoFuncTable() {};
     };
     
         bool supports(FeatureSet) const { throw_nogpu; return false; }
         bool isCompatible() const { throw_nogpu; return false; }
         void query() { throw_nogpu; }
+        int deviceID() const { throw_nogpu; return -1; };
+        std::string name() const { throw_nogpu; return std::string(); }
+        int majorVersion() const { throw_nogpu; return -1; }
+        int minorVersion() const { throw_nogpu; return -1; }
+        int multiProcessorCount() const { throw_nogpu; return -1; }
     };
     
     class EmptyFuncTable : public GpuFuncTable
@@ -579,6 +589,31 @@ namespace cv { namespace gpu { namespace device
             minorVersion_ = prop->minor;
         }
 
+        int deviceID() const
+        {
+            return device_id_;
+        }
+
+        std::string name() const
+        {
+            return name_;
+        }
+
+        int majorVersion() const
+        {
+            return majorVersion_;
+        }
+
+        int minorVersion() const
+        {
+            return minorVersion_;
+        }
+
+        int multiProcessorCount() const
+        {
+            return multi_processor_count_;
+        }
+
     private:
         int device_id_;