cython模板的限制在哪里?

时间:2012-10-09 03:19:32

标签: templates typedef cython

我有这个课程,但无法弄清楚如何用cython进行外部定义。内部的typedef困扰着我:

public:

 typedef ReturnType (*Method)(Parameter);

以下是完整的课程:

#ifndef LABCALLBACK2_H_
#define LABCALLBACK2_H_


namespace elps {


template < typename ReturnType, typename Parameter >
class LabCallBack2
{
public:

 typedef ReturnType (*Method)(Parameter);

 LabCallBack2(Method _method)
 {
    method         = _method;
 };

 ReturnType operator()(Parameter parameter)
 {
    return (*method)(parameter);
 };

 ReturnType execute(Parameter parameter)
 {
    return operator()(parameter);
 };

private:

 Method  method;

};


}  // namespace elps

#endif /* LABCALLBACK2_H_ */

我从这开始,但下一步是什么? cython是否提供了这样做的方法?

cdef extern from "../inc/LabCallBack2.h" namespace "elps" :
    cdef cppclass LabCallBack2[ReturnType, Parameter]:
        LabCallBack2(?????????  _method)

感谢您的帮助

0 个答案:

没有答案