x
Yes
No
Do you want to visit DriveHQ English website?
Inicio
Características
Precios
Prueba gratuita
Software cliente
Acerca de nosotros
Servidor de archivos
|
Solución de copias de seguridad
|
Servidor FTP
|
Servidor de correo electrónico
|
Alojamiento web
|
Software cliente
Servidor de archivos
Solución de copia de seguridad
Servidor FTP
Servidor de correo electrónico
Alojamiento web
Software cliente
call.hpp - Hosted on DriveHQ Cloud IT Platform
Arriba
Subir
Descargar
Compartir
Publicar
Nueva carpeta
Nuevo archivo
Copiar
Cortar
Eliminar
Pegar
Clasificación
Actualizar
Ruta de la carpeta: \\game3dprogramming\materials\GameFactory\GameFactoryDemo\references\boost_1_35_0\boost\python\call.hpp
Girar
Efecto
Propiedad
Historial
#if !defined(BOOST_PP_IS_ITERATING) // Copyright David Abrahams 2002. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) # ifndef CALL_DWA2002411_HPP # define CALL_DWA2002411_HPP # include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
namespace boost { namespace python { # define BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET(z, n, _) \ , converter::arg_to_python
(a##n).get() # define BOOST_PP_ITERATION_PARAMS_1 (3, (0, BOOST_PYTHON_MAX_ARITY,
)) # include BOOST_PP_ITERATE() # undef BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET }} // namespace boost::python # endif // CALL_DWA2002411_HPP #elif BOOST_PP_ITERATION_DEPTH() == 1 # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201))) # line BOOST_PP_LINE(__LINE__, call.hpp) # endif # define N BOOST_PP_ITERATION() template < class R BOOST_PP_ENUM_TRAILING_PARAMS_Z(1, N, class A) > typename detail::returnable
::type call(PyObject* callable BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, const& a) , boost::type
* = 0 ) { PyObject* const result = PyEval_CallFunction( callable , const_cast
("(" BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FIXED, "O") ")") BOOST_PP_REPEAT_1ST(N, BOOST_PYTHON_FAST_ARG_TO_PYTHON_GET, nil) ); // This conversion *must not* be done in the same expression as // the call, because, in the special case where the result is a // reference a Python object which was created by converting a C++ // argument for passing to PyEval_CallFunction, its reference // count will be 2 until the end of the full expression containing // the conversion, and that interferes with dangling // pointer/reference detection. converter::return_from_python
converter; return converter(result); } # undef N #endif
call.hpp
Dirección de la página
Dirección del archivo
Anterior
8/85
Siguiente
Descargar
( 2 KB )
Comments
Total ratings:
0
Average rating:
No clasificado
of 10
Would you like to comment?
Join now
, or
Logon
if you are already a member.