我使用swigforpython为我的软件库创建包装器,我有以下功能:
template<class PR>
boost::shared_ptr<JobT<PR> > Client::WaitForJob() {
boost::shared_ptr<JobT<PR> > job;
while (!job.get()) {
list<boost::shared_ptr<Job> > jobs = GetJobs(p_jobName, p_jobID, "", JobT<PR>::New);
while (jobs.size() > 0) {
job = boost::dynamic_pointer_cast<JobT<PR> >(jobs.front());
jobs.pop_front();
if (ClaimJob(job)) return job;
else job.reset();
}
}
return job;
}
在本例中,我可以为JobT创建一个类,并且还使用了boos_指针。 目前我的接口文件中有以下内容:
%template(jobme)作业t; %包括“boost_shared_ptr.i” %共享硬盘(jobme)
%template(waitforme)客户端::WaitForJob
waitforme函数模板返回指向swigpython对象的指针。这是正确的,但我希望它与jobme指针相同。在
有人能指出这是否可能吗??在
返回的Swig对象是
jobme
的代理。它应该像JobT
一样在任何需要的地方工作。在啊,我想我看到问题了。您需要为每个}:
PR
实例化JobT
和{所以
%template
实例化了一个模板,但它并没有猜测所有可能用于实例化它的类型。在相关问题 更多 >
编程相关推荐