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
make_instance.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\object\make_instance.hpp
Girar
Efecto
Propiedad
Historial
// 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 MAKE_INSTANCE_DWA200296_HPP # define MAKE_INSTANCE_DWA200296_HPP # include
# include
# include
# include
# include
namespace boost { namespace python { namespace objects { template
struct make_instance_impl { typedef objects::instance
instance_t; template
static inline PyObject* execute(Arg& x) { BOOST_STATIC_ASSERT(is_class
::value); PyTypeObject* type = Derived::get_class_object(x); if (type == 0) return python::detail::none(); PyObject* raw_result = type->tp_alloc( type, objects::additional_instance_size
::value); if (raw_result != 0) { python::detail::decref_guard protect(raw_result); instance_t* instance = (instance_t*)raw_result; // construct the new C++ object and install the pointer // in the Python object. Derived::construct(&instance->storage, (PyObject*)instance, x)->install(raw_result); // Note the position of the internally-stored Holder, // for the sake of destruction instance->ob_size = offsetof(instance_t, storage); // Release ownership of the python object protect.cancel(); } return raw_result; } }; template
struct make_instance : make_instance_impl
> { template
static inline PyTypeObject* get_class_object(U&) { return converter::registered
::converters.get_class_object(); } static inline Holder* construct(void* storage, PyObject* instance, reference_wrapper
x) { return new (storage) Holder(instance, x); } }; }}} // namespace boost::python::object #endif // MAKE_INSTANCE_DWA200296_HPP
make_instance.hpp
Dirección de la página
Dirección del archivo
Anterior
20/27
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.