2012-10-09 7 views
0

이 클래스가 있지만 extern을 cython으로 정의하는 방법을 알 수는 없습니다. 내부 타입 정의는 나를 귀찮게한다 :Cython 템플릿의 한계는 어디에 있습니까?

#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_ */ 

내가이 시작하지만, 다음은 무엇 : 여기

public: 

typedef ReturnType (*Method)(Parameter); 

전체 클래스? Cython이이를 수행 할 수있는 방법을 제공합니까? 나를

답변

1

시도하십시오 돕는

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

감사합니다 다음 : 나는 다른 경우에이 트릭을 사용했고 그 사이 썬

와 함께 잘 작동

LabCallBack2(**void ***_method)