草庐IT

包装类

全部标签

c++ - pygccxml 中是否有 Python Clang 包装器来包装 GCC-XML?

很长一段时间以来,我一直在使用pygccxml来解析和内省(introspection)我的C++源代码:它可以帮助我在构建过程中进行一些巧妙的代码生成。最近我阅读了很多关于LLVM堆栈的好处,尤其是LLVMClang解析器为C++编译带来的好处。我现在想知道Clang是否有任何Python接口(interface),以便我可以将它用作我现有的一些代码生成任务的基础? 最佳答案 进一步挖掘后,我发现在LLVM2.7release可能会有一些有用的开始:IntheLLVM2.7time-frame,theClangteamhasmad

c++ - 我应该使用 C++ 中的哪个包装类来进行自动化资源管理?

我是C++爱好者。我正在编写一些Win32API代码,并且有很多句柄和奇怪的复合分配对象。所以我想知道-是否有一些包装类可以使资源管理更容易?例如,当我想加载一些数据时,我使用CreateFile()打开一个文件并获得一个HANDLE。完成后,我应该调用CloseHandle()。但是对于任何相当复杂的加载函数,都会有几十个可能的退出点,更不用说异常(exception)了。因此,如果我可以将句柄包装在某种包装类中,该类会在执行离开范围后自动调用CloseHandle()。更好的是——它可以做一些引用计数,这样我就可以将它传入和传出其他函数,并且只有在最后一个引用离开作用域时才会释放资

c++ - 如何用不同数量的默认参数包装一个函数,使其只有一个参数?

我有一个模板函数,我们称之为“客户端”:templatevoidclient(T(*func)(conststd::string&),conststd::string&s){}然后有许多“adaptee”函数都具有相同类型的第一个非默认参数,但以下参数的数量不同并且具有默认值:voidadaptee_one(conststd::string&,inti=1,char*c=nullptr){}voidadaptee_two(conststd::string&,float*f=nullptr){}上述功能是给定的。现在我要做的是将它们传递给上面的client()函数作为第一个参数,我只关心

c# - .Net OpenCV 包装器值得使用吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭6年前。Improvethisquestion所以我们在大学开设了这门图像处理类(class),我们将广泛使用OpenCV。问题是,OpenCV使用C++,但我的C#比C++流利得多。我知道有OpenCV的包装器(OpenCVDotNet、SharperCV、EmguCV,...)但我不知道该选择哪个。我的问题是:哪一个包含大部分/所有OpenCV功能?它们是否值得使用?(可能不会经常更新,缺乏功能或速度,...)或者我应该更好地刷我

c++ - 是否有用于标准化类型名称字符串格式的 C++ type_info 的可移植包装器?

type_info::name()的输出格式是特定于实现的。namespaceN{structA;}constN::A*a;typeid(a).name();//returnse.g."conststructN::A"butcompiler-specific有没有人编写过一个包装器,它返回可靠的、可预测的类型信息,这些信息在编译器中是相同的。多个模板化函数将允许用户获取有关类型的特定信息。所以我也许可以使用:MyTypeInfo::name(a);//returns"conststructN::A*"MyTypeInfo::base(a);//returns"A"MyTypeInfo:

c++ - 与裸 __m128 相比,SSE vector 包装器类型的性能

我发现了一个有趣的Gamasutraarticle关于SIMD陷阱,它指出不可能达到“纯”的性能__m128类型与包装类型。好吧,我持怀疑态度,所以我下载了项目文件并制作了一个类似的测试用例。结果(出乎我的意料)包装器版本要慢得多。由于我不想只谈论稀薄的空气,因此测试用例如下:第一种情况Vec4是__m128的简单别名使用一些运算符键入:#include#includeusingVec4=__m128;inline__m128VLoad(floatf){return_mm_set_ps(f,f,f,f);};inlineVec4&operator+=(Vec4&va,Vec4vb){r

javascript - 如何使用异步等待包装回调?

我的函数返回一个promise,该promise会在http服务器启动后立即解决。这是我的代码:functionstart(){returnnewPromise((resolve,reject){this.server=Http.createServer(app);this.server.listen(port,()=>{resolve();});})}如何将start函数转换为async/await? 最佳答案 在函数声明和awaitPromise构造函数之前包含async。请注意,您实际上是在向现有模式添加代码。await将值转

node.js - npm 更新到特定版本(和收缩包装)

我正在使用NPM和shrinkwrap(最新版本)来维护我的包。目前,我的软件包当前版本之一是1.1.0。这个包的最新版本是2.2.0。我想将此特定软件包更新/升级到版本2.0.0(而不是最新的2.2.0)。我认为程序是:npminstall以确保我与npm-shrinkwrap同步npmupdatemyPackage@2.0.0npmshrinkwrapgit添加。&&gitcommit-m"更新包myPackage到版本2.0.0"这似乎不是正确的道路。它不会更新package.json并且总是跳转到最新版本。我无法控制此命令来选择我想要的特定版本。我阅读了有关npmupdate的

javascript - 如何更改 Node.js 模块包装器?

出于测试目的,我需要更改Node.jsModule包装器。(function(exports,require,module,__filename,__dirname,process,global){debugger;});玩弄了Module我发现了varModule=require("module")Module.wrapper->["(function(exports,require,module,__filename,__dirname,process,global){","});"]Module.wrap->function(script){returnNativeModule.

function - 没有对象包装器的 Node.JS 导出函数

我在看Node.JSrequest并注意您可以使用varrequest=require('request');request(...)但是当我尝试在模块中做类似的事情时,我会尝试exports=function(){}它不起作用。我知道使用的唯一方法是varrequest=require('request').request;request(...)和exports.request=function(){}如何将整个导出设置为函数而不是向导出对象添加函数?requestsourcecode中可能有提示。但我发现很难弄清楚发生了什么。你能帮忙吗? 最佳答案