Return <void>是什么意思?

时间:2019-11-08 02:27:27

标签: c++

我在android源代码中看到了一个程序,它与c ++中的返回值有关,请看以下内容,谢谢!

Return<void> RadioResponse_v1_1::getIccCardStatusResponse(const RadioResponseInfo& info,
                                         const CardStatus& card_status) {
       rspInfo = info
       cardStatus = card_statu parent_v1_1.notify(info.serial30);
       return void();
}

我的问题是Return代表什么?我以前从未见过此程序。 最好的问候

1 个答案:

答案 0 :(得分:0)

很难深入了解android源代码的所有代码生成层,但是这里有一些有关它的文档: https://source.android.com/devices/architecture/hidl-cpp/functions

它用于AOSP使用的某些硬件抽象层接口语言生成的代码中。从文档中:

  

返回对象存储运输错误指示以及T值(“返回”除外)。

...

  

返回对象具有与T值的隐式转换

因此,在这种情况下,Return<T>是可以存储值或错误的容器。成功执行时,此函数不返回任何内容,因此它返回Result<void>。在函数式编程语言中,有时也称为:https://www.ibm.com/developerworks/library/j-ft13/index.html

编辑:啊哈,这是: https://android.googlesource.com/platform/system/libhidl/+/refs/heads/master/base/include/hidl/Status.h