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
args.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\args.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 KEYWORDS_DWA2002323_HPP # define KEYWORDS_DWA2002323_HPP # include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
# include
namespace boost { namespace python { typedef detail::keywords<1> arg; typedef arg arg_; // gcc 2.96 workaround namespace detail { template
struct keywords_base { BOOST_STATIC_CONSTANT(std::size_t, size = nkeywords); keyword_range range() const { return keyword_range(elements, elements + nkeywords); } keyword elements[nkeywords]; keywords
operator,(python::arg const &k) const; keywords
operator,(char const *name) const; }; template
struct keywords : keywords_base
{ }; template <> struct keywords<1> : keywords_base<1> { explicit keywords(char const *name) { elements[0].name = name; } template
python::arg& operator=(T const& value) { object z(value); elements[0].default_value = handle<>(python::borrowed(object(value).ptr())); return *this; } operator detail::keyword const&() const { return elements[0]; } }; template
inline keywords
keywords_base
::operator,(python::arg const &k) const { keywords
const& l = *static_cast
const*>(this); python::detail::keywords
res; std::copy(l.elements, l.elements+nkeywords, res.elements); res.elements[nkeywords] = k.elements[0]; return res; } template
inline keywords
keywords_base
::operator,(char const *name) const { return this->operator,(python::arg(name)); } # ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template
struct is_keywords { BOOST_STATIC_CONSTANT(bool, value = false); }; template
struct is_keywords
> { BOOST_STATIC_CONSTANT(bool, value = true); }; template
struct is_reference_to_keywords { BOOST_STATIC_CONSTANT(bool, is_ref = is_reference
::value); typedef typename remove_reference
::type deref; typedef typename remove_cv
::type key_t; BOOST_STATIC_CONSTANT(bool, is_key = is_keywords
::value); BOOST_STATIC_CONSTANT(bool, value = (is_ref & is_key)); typedef mpl::bool_
type; BOOST_PYTHON_MPL_LAMBDA_SUPPORT(1,is_reference_to_keywords,(T)) }; # else typedef char (&yes_keywords_t)[1]; typedef char (&no_keywords_t)[2]; no_keywords_t is_keywords_test(...); template
yes_keywords_t is_keywords_test(void (*)(keywords
&)); template
yes_keywords_t is_keywords_test(void (*)(keywords
const&)); template
class is_reference_to_keywords { public: BOOST_STATIC_CONSTANT( bool, value = ( sizeof(detail::is_keywords_test( (void (*)(T))0 )) == sizeof(detail::yes_keywords_t))); typedef mpl::bool_
type; BOOST_PYTHON_MPL_LAMBDA_SUPPORT(1,is_reference_to_keywords,(T)) }; # endif } inline detail::keywords<1> args(char const* name) { return detail::keywords<1>(name); } # define BOOST_PYTHON_ASSIGN_NAME(z, n, _) result.elements[n].name = name##n; # define BOOST_PP_LOCAL_MACRO(n) \ inline detail::keywords
args(BOOST_PP_ENUM_PARAMS_Z(1, n, char const* name)) \ { \ detail::keywords
result; \ BOOST_PP_REPEAT_1(n, BOOST_PYTHON_ASSIGN_NAME, _) \ return result; \ } # define BOOST_PP_LOCAL_LIMITS (2, BOOST_PYTHON_MAX_ARITY) # include BOOST_PP_LOCAL_ITERATE() }} // namespace boost::python # endif // KEYWORDS_DWA2002323_HPP
args.hpp
Dirección de la página
Dirección del archivo
Anterior
2/85
Siguiente
Descargar
( 5 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.