나는 다음과 같은 C의 형식 정의를 ++ 있습니다.꿀꺽 꿀꺽 불변의 표준 : :지도 참조
namespace std
{
%template(TestClassMap) map<int, myNamespace::TestClass>;
}
이 잘 컴파일은 C# 라이브러리를 작성 :
그런 다음 내 인터페이스 (.I) 꿀꺽 꿀꺽위한 파일에, 나는 다음 있습니다.그러나 C# 라이브러리에서 const TestClassMap&
을 반환하는 함수는 실제로 변경할 수있는 TestClassMap을 반환합니다 (변경 가능). 반환 된 객체의 IsReadOnly
설정을 보면 false입니다.
SWIG 문서를 보면, 객체를 원하는대로 생각하는 immutable
으로 표시 할 수있는 것처럼 보입니다. 그러나, 나는 이것을 시도하고 어떤 성공도 가져 오지 않았다.
%feature("immutable","1") TestClass;
%immutable TestClass;
%immutable
%template(TestClassMap) map<int, myNamespace::TestClass>;
%mutable
const std::map<>&
이 불변 할 수없는 이유를 몇 가지 근본적인 이유가 있습니까 : 나는 다음의 각 시도했습니다? 다른 아이디어?