Boost Python的C++对象, Pickle支持及其原理
默认用boost python包裹的C++对象是不支持pickle的,如果要用pickle.dumps(obj)的话那会提示错误Pickling of "xxx" instances is not enabled.这边吐槽一下在最新的代码里,给的reference链接其实还是不可用的。真正正确的是https://www.boost.org/doc/libs/1_74_0/libs/python/d
默认用boost python包裹的C++对象是不支持pickle的,如果要用pickle.dumps(obj)的话那会提示错误Pickling of "xxx" instances is not enabled.这边吐槽一下在最新的代码里,给的reference链接其实还是不可用的。真正正确的是https://www.boost.org/doc/libs/1_74_0/libs/python/d
为unix平台增加XZ多线程解压缩支持(基于7zip LZMA SDK, C/C++)NoteThis post has nothing to do with the pixz project. I am talking about decompressing the original xz archive using 7-zip's LZMA SDK under unix environment
C++11有了一些关于线程的模型,在此之前C++里可是各自为政的,各种线程库各种神奇用法。其中有两个好玩的东西就是std::promise<T>和std::future<T>,下文书中形容它们像是个“虫洞”。std::future是虫洞的出口:一个未来对象的“获取器”,在未来的某一刻它能返回一个有用的值,但现在还没有...std::promise是虫洞的入口:我们要保证在未
std::variant应当是用来替代union来使用的,后者从C时代就有了,但是它缺乏类型安全的保障。boost库很早之前就有了实现(其实从C++11开始,感觉boost不知道多少东西被借鉴走了)。std::variant的类长这个样子:template <class... Types>class variant;Usage使用起来也是比较方便的std::variant<int
std::generate是“遍历——执行”工具函数的一种#include <algorithm>#include <iostream>#include <string>#include <vector>int main(){ std::vector<std::string> v(4); std::generate(v.begin()