2010-12-08 3 views
0

SWIG를 사용하여 C++ 라이브러리 API를 래핑했습니다.이 API는 잘 작동하지만 "bool &"매개 변수가 난처합니다.SWIG 및 Python을 사용하여 참조로 bool 전달하기

원래 API는 다음과 같습니다

무효 foo는 (부울 & 바);

내가 파이썬에서 호출

에서, _wrap.cxx은 즉

int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_bool, 0); 
    _v = SWIG_CheckState(res); 
    if (_v) { 

에서 포장 과정 중퇴, 꿀꺽 꿀꺽 내가 부울 포인터에 전달하고있는 무슨을 변환 할 수 없습니다.

나는과 같이, 파이썬에서 호출하려고 해요 :

obj = LibObject() 
    x = 0 
    obj.foo(x) 

간단한 타입 맵 수정이 거기에 있습니까?

답변

1

이 작동합니다 : 꿀꺽 꿀꺽가 bool & bar 매개 변수를 볼 때마다

%include <typemaps.i> 
%apply bool & INOUT { bool & bar }; 

는, 그것이 IN/OUT 매개 변수로 취급해야한다. 출력 매개 변수로만 필요하면 OUTPUT을 사용하십시오.

관련 문제