小编Lou*_*fre的帖子

Boost :: python使用和返回模板公开C++函数

我需要为C++代码库构建python绑定.我使用boost :: python并且在尝试使用和返回模板公开包含函数的类时遇到了问题.这是一个典型的例子

class Foo 
{ 
    public: 
        Foo(); 
        template<typename T> Foo& setValue(
            const string& propertyName, const T& value); 
        template<typename T> const T& getValue(
            const string& propertyName); 
}; 
Run Code Online (Sandbox Code Playgroud)

典型的T是字符串,双,矢量.

阅读完文档后,我尝试使用所有类型的薄包装器.这是string和double的包装器以及相应的类声明.

Foo & (Foo::*setValueDouble)(const std::string&,const double &) = 
    &Foo::setValue; 
const double & (Foo::*getValueDouble)(const std::string&) = 
    &Foo::getValue;

Foo & (Foo::*setValueString)(const std::string&,const std::string &) = 
    &Foo::setValue; 
const std::string & (Foo::*getValueString)(const std::string&) = 
    &Foo::getValue;

class_<Foo>("Foo") 
    .def("setValue",setValueDouble, 
        return_value_policy<reference_existing_object>()) 
    .def("getValue",getValueDouble,
        return_value_policy<copy_const_reference>()) 
    .def("getValue",getValueString, 
        return_value_policy<copy_const_reference>()) 
    .def("setValue",setValueString, 
        return_value_policy<reference_existing_object>());
Run Code Online (Sandbox Code Playgroud)

它编译好,但是当我尝试使用python绑定时,我得到了一个C++异常.

>>> f = Foo()  
>>> f.setValue("key",1.0) 
>>> f.getValue("key") 
Traceback …
Run Code Online (Sandbox Code Playgroud)

c++ python boost boost-python

9
推荐指数
1
解决办法
4461
查看次数

如果字符串是zlib压缩的,如何快速检测?

python中确定字符串是否被zlib压缩的最快方法是什么.我目前正在使用它.

def iscompressed(data):
    result = True
    try:
        s =zlib.decompress(data)
    except:
        result = False  
    return result
Run Code Online (Sandbox Code Playgroud)

我相信有更优雅的方式.

python zlib

8
推荐指数
1
解决办法
6349
查看次数

如何在不创建新值的情况下将新值附加到xts对象

例如,我有一个xts对象

ts=xts(seq(10),seq(Sys.Date(),Sys.Date()+10,length.out=10))
Run Code Online (Sandbox Code Playgroud)

例如,需要添加一个新点

(Sys.Date()+11, 11)
Run Code Online (Sandbox Code Playgroud)

我试过了

ts[Sys.Date()+11] <- 11
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我宁愿避免创建一个新的xts对象.是否有一种优雅的方式来做到这一点.

r xts

5
推荐指数
1
解决办法
6800
查看次数

Python:解析时间戳并以毫秒为单位计算时间差

我有一个"%H:%M:%S"格式的时间戳列表.例如

  09:50:08.650000
  09:50:08.665000
  09:50:08.820000
  09:50:08.877000
  09:50:09.897000
  09:50:09.907000
  09:50:09.953000
  09:50:10.662000
  09:50:10.662000
Run Code Online (Sandbox Code Playgroud)

我需要在python中有效地计算每行之间的时间差(毫秒).

python datetime

4
推荐指数
1
解决办法
6514
查看次数

标签 统计

python ×3

boost ×1

boost-python ×1

c++ ×1

datetime ×1

r ×1

xts ×1

zlib ×1