コード例 #1
0
ファイル: world_py.cpp プロジェクト: antialize/mcbot
 static void construct(void * s, boost::python::handle<> i) {
     new (s) T();
     T * a=static_cast<T *>(s);
     while (true) {
         boost::python::handle<> e(boost::python::allow_null(PyIter_Next(i.get())));
         if (!e.get()) break;
         boost::python::object o(e);
         boost::python::extract<IT> p(o);
         H()(*a, p());
     }
 }
コード例 #2
0
ファイル: world_py.cpp プロジェクト: antialize/mcbot
 static RT getNextValue(boost::python::handle<> i) {
     boost::python::handle<> e(boost::python::allow_null(PyIter_Next(i.get())));
     if (!e.get()) boost::python::throw_error_already_set();
     boost::python::object o(e);
     return boost::python::extract<RT>(o);
 }
コード例 #3
0
ファイル: pyUtils.cpp プロジェクト: PixarAnimationStudios/USD
bool
TfPyIsNone(boost::python::handle<> const &obj)
{
    return !obj.get() || obj.get() == Py_None;
}