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
proto_fwd.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\xpressive\proto\proto_fwd.hpp
Girar
Efecto
Propiedad
Historial
/////////////////////////////////////////////////////////////////////////////// /// \file proto_fwd.hpp /// Forward declarations of all of proto's public types and functions. // // Copyright 2007 Eric Niebler. 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 BOOST_PROTO_FWD_HPP_EAN_04_01_2005 #define BOOST_PROTO_FWD_HPP_EAN_04_01_2005 #include
// must be first include #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifndef BOOST_PROTO_MAX_ARITY # define BOOST_PROTO_MAX_ARITY 5 #endif #ifndef BOOST_PROTO_MAX_LOGICAL_ARITY # define BOOST_PROTO_MAX_LOGICAL_ARITY 8 #endif #if BOOST_WORKAROUND(__GNUC__, == 3) \ || BOOST_WORKAROUND(__EDG_VERSION__, BOOST_TESTED_AT(306)) # define BOOST_PROTO_BROKEN_CONST_OVERLOADS #endif #ifdef BOOST_PROTO_BROKEN_CONST_OVERLOADS # include
# include
# define BOOST_PROTO_DISABLE_IF_IS_CONST(T)\ , typename boost::disable_if
>::type * = 0 #else # define BOOST_PROTO_DISABLE_IF_IS_CONST(T) #endif #include
// must be last include namespace boost { namespace proto { namespace detail { typedef char yes_type; typedef char (&no_type)[2]; struct dont_care { dont_care(...); }; template
struct remove_cv_ref : remove_cv
::type> {}; } /////////////////////////////////////////////////////////////////////////////// // Operator tags namespace tag { struct terminal; struct posit; struct negate; struct dereference; struct complement; struct address_of; struct logical_not; struct pre_inc; struct pre_dec; struct post_inc; struct post_dec; struct shift_left; struct shift_right; struct multiplies; struct divides; struct modulus; struct plus; struct minus; struct less; struct greater; struct less_equal; struct greater_equal; struct equal_to; struct not_equal_to; struct logical_or; struct logical_and; struct bitwise_and; struct bitwise_or; struct bitwise_xor; struct comma; struct mem_ptr; struct assign; struct shift_left_assign; struct shift_right_assign; struct multiplies_assign; struct divides_assign; struct modulus_assign; struct plus_assign; struct minus_assign; struct bitwise_and_assign; struct bitwise_or_assign; struct bitwise_xor_assign; struct subscript; struct if_else_; struct function; // Fusion tags struct proto_expr; struct proto_ref; struct proto_ref_iterator; } namespace wildcardns_ { struct _; } using wildcardns_::_; namespace generatorns_ { struct default_generator; template
class Extends> struct generator; template
class Extends> struct pod_generator; template
struct by_value_generator; } using generatorns_::default_generator; using generatorns_::generator; using generatorns_::pod_generator; using generatorns_::by_value_generator; namespace domainns_ { template
struct domain; struct default_domain; struct deduce_domain; } using domainns_::domain; using domainns_::default_domain; using domainns_::deduce_domain; namespace exprns_ { template
struct expr; template< typename Expr , typename Derived , typename Domain = default_domain , typename Tag = typename Expr::proto_tag > struct extends; struct is_proto_expr; } using exprns_::expr; using exprns_::extends; using exprns_::is_proto_expr; namespace refns_ { template
struct ref_; } using refns_::ref_; namespace control { template< typename Grammar0 , typename Grammar1 , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_SUB(BOOST_PROTO_MAX_LOGICAL_ARITY,2), typename G, void) > struct or_; template< typename Grammar0 , typename Grammar1 , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(BOOST_PP_SUB(BOOST_PROTO_MAX_LOGICAL_ARITY,2), typename G, void) > struct and_; template
struct if_; template
struct switch_; template
struct not_; template
struct exact; template
struct convertible_to; template
struct vararg; int const N = INT_MAX; } using control::if_; using control::or_; using control::and_; using control::not_; using control::switch_; using control::exact; using control::convertible_to; using control::vararg; using control::N; namespace context { struct null_context; template
struct null_eval; struct default_context; template
struct default_eval; template
struct callable_context; template
struct callable_eval; } using context::null_context; using context::null_eval; using context::default_context; using context::default_eval; using context::callable_context; using context::callable_eval; namespace utility { template
struct literal; } using utility::literal; namespace result_of { template
struct as_expr; template
struct as_arg; template
> struct arg; template
struct arg_c; template
struct left; template
struct right; template
struct deep_copy; template
struct unref; template
struct eval; template< typename Tag BOOST_PP_ENUM_TRAILING_BINARY_PARAMS( BOOST_PROTO_MAX_ARITY , typename A , = void BOOST_PP_INTERCEPT ) , typename _1 = void , typename _2 = void > struct make_expr; template
struct unpack_expr; template
struct is_ref; template
struct is_expr; template
struct is_domain; template
struct tag_of; template
struct domain_of; template
struct id; template
struct matches; } using proto::result_of::is_ref; using proto::result_of::is_expr; using proto::result_of::is_domain; using proto::result_of::tag_of; using proto::result_of::domain_of; using proto::result_of::id; using proto::result_of::matches; namespace op { // Generic expression generators template
struct unary_expr; template
struct binary_expr; template
struct nary_expr; // Specific expression generators, for convenience template
struct terminal; template
struct posit; template
struct negate; template
struct dereference; template
struct complement; template
struct address_of; template
struct logical_not; template
struct pre_inc; template
struct pre_dec; template
struct post_inc; template
struct post_dec; template
struct shift_left; template
struct shift_right; template
struct multiplies; template
struct divides; template
struct modulus; template
struct plus; template
struct minus; template
struct less; template
struct greater; template
struct less_equal; template
struct greater_equal; template
struct equal_to; template
struct not_equal_to; template
struct logical_or; template
struct logical_and; template
struct bitwise_and; template
struct bitwise_or; template
struct bitwise_xor; template
struct comma; template
struct mem_ptr; template
struct assign; template
struct shift_left_assign; template
struct shift_right_assign; template
struct multiplies_assign; template
struct divides_assign; template
struct modulus_assign; template
struct plus_assign; template
struct minus_assign; template
struct bitwise_and_assign; template
struct bitwise_or_assign; template
struct bitwise_xor_assign; template
struct subscript; template
struct if_else_; template
struct function; } using namespace op; namespace functional { struct left; struct right; struct unref; struct deep_copy; template
struct as_expr; template
struct as_arg; template
> struct arg; template
struct arg_c; template
struct make_expr; template
struct unpack_expr; template
struct unfused_expr_fun; template
struct unfused_expr; } #define BOOST_PROTO_IDENTITY_TRANSFORM()\ template
\ static Expr_ const &call(Expr_ const &expr_, State_ const &, Visitor_ &)\ {\ return expr_;\ }\ template
\ struct apply\ {\ typedef Expr_ type;\ } namespace transform { namespace detail { using proto::detail::yes_type; using proto::detail::no_type; struct default_factory; no_type is_wildcard_expression_fun(...); template
struct is_wildcard_expression; } template
> struct arg; template
struct arg_c; template
struct left; template
struct right; template
struct state; template
struct visitor; template
struct identity; template
struct always; template
struct apply1; template
struct apply2; template
struct apply3; template
struct branch; template
struct fold; template
struct reverse_fold; template
struct fold_tree; template
struct reverse_fold_tree; template
struct function1; template
struct function2; template
struct function3; template
struct list; template
struct tail; template
struct pass_through; template
struct construct; template
struct pod_construct; } namespace has_transformns_ { template
struct has_pass_through_transform; struct has_identity_transform { BOOST_PROTO_IDENTITY_TRANSFORM(); }; } using has_transformns_::has_identity_transform; using has_transformns_::has_pass_through_transform; template
struct is_transform; template
struct is_extension; namespace exops {} }} // namespace boost::proto #endif
proto_fwd.hpp
Dirección de la página
Dirección del archivo
Anterior
16/21
Siguiente
Descargar
( 16 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.