“操作员shared_ptr”方法访问权限? (librealsense)

时间:2018-08-22 10:34:13

标签: c++ operators shared-ptr realsense c-api

我目前正在尝试将LibRealsense包装到Unreal 4插件中。这个库提供了一些C API和一些C ++ API(包装了它的C API),所以我正在使用C ++(这对Unreal有意义)。

但是有一种我以前从未见过的运算符重载(在rs_pipeline.hpp中):

      customValueToPosition: function(val, minVal, maxVal) {
        if(!ticksPositions[val]){
            console.log("value => " + val);
            ticksPositions[val] = calculateValuePosition(val);
        }
        return ticksPositions[val];
      },  

      customPositionToValue: function(percent, minVal, maxVal) {  
          var minPos;
          var maxPos;      
        var index = Math.round(percent * 16);
        var min = (ticksArray[index - 1]);
        var max = (ticksArray[index]);
        minPos = ticksPositions[min];
            maxPos = ticksPositions[max];            
        var value = max - ((maxPos-percent)/(maxPos-minPos)) * (max - min); 
        return Math.round(value);
      }

class pipeline { public: pipeline(context ctx = context()) ... operator std::shared_ptr<rs2_pipeline>() const { return _pipeline; } private: context _ctx; std::shared_ptr<rs2_pipeline> _pipeline; } 是管道的C类型,可以在所有c ++类中作为共享指针进行访问。例如:

rs2_pipeline

因此,当我尝试使用C ++管道调用 class config { public: ... bool can_resolve(std::shared_ptr<rs2_pipeline> p) const ... } 时  对象,我需要获取内部config.can_resolve。但是我怎么称呼shared_ptr<rs_pipline>?究竟是哪种运算符?

0 个答案:

没有答案