咨询mongo-cxx-driver中bson_value::view::get_string()等方法的实现位置
mongo-cxx-driver中get_string()函数的实现位置
- 这两个函数的实现并非写在单独的cpp文件中,而是通过模板特化或宏生成来完成的——Mongo C++ Driver为了避免重复代码,大量使用模板和宏来处理各类BSON类型的存取方法。
- 核心实现基本以inline函数的形式存在于头文件中,你可以重点查看
bson_value/view.hpp,或者搜索类似GET_STRING_IMPL的宏定义,很多BSON类型的方法都是靠这类宏批量生成的。 document::element::get_string()本质是对bson_value::view::get_string()的封装,二者共用同一套实现逻辑。- 如果你用grep没找到结果,可以调整搜索模式:比如去掉
const关键字搜索,或者搜索template<> ... get_string这类模板特化的写法,模板特化的实现签名可能和你之前查找的声明不完全匹配。
内容的提问来源于stack exchange,提问作者QnA
相关产品推荐
相关产品推荐

