DriveHQ Start Menu
Cloud Drive Mapping
Folder Sync
Cloud Backup
True Drop Box
FTP/SFTP Hosting
Group Account
DriveHQ Start Menu
Online File Server
My Storage
|
Manage Shares
|
Publishes
|
Drop Boxes
|
Group Account
WebDAV Drive Mapping
Cloud Drive Home
|
WebDAV Guide
|
Drive Mapping Tool
|
Drive Mapping URL
Complete Data Backup
Backup Guide
|
Online Backup Tool
|
Cloud-to-Cloud Backup
FTP, Email & Web Service
FTP Home
|
FTP Hosting FAQ
|
Email Hosting
|
EmailManager
|
Web Hosting
Help & Resources
About
|
Enterprise Service
|
Partnership
|
Comparisons
|
Support
Quick Links
Security and Privacy
Download Software
Service Manual
Use Cases
Group Account
Online Help
Blog
Contact
Cloud Surveillance
Sign Up
Login
Features
Business Features
Online File Server
FTP Hosting
Cloud Drive Mapping
Cloud File Backup
Email Backup & Hosting
Cloud File Sharing
Folder Synchronization
Group Management
True Drop Box
Full-text Search
AD Integration/SSO
Mobile Access
IP Camera & DVR Solution
More...
Personal Features
Personal Cloud Drive
Backup All Devices
Mobile APPs
Personal Web Hosting
Sub-Account (for Kids)
Home/PC/Kids Monitoring
More...
Software
DriveHQ Drive Mapping Tool
DriveHQ FileManager
DriveHQ Online Backup
DriveHQ Mobile Apps
Pricing
Business Plans & Pricing
Personal Plans & Pricing
Price Comparison with Others
Feature Comparison with Others
Install Mobile App
Sign up
Creating account...
Invalid character in username! Only 0-9, a-z, A-Z, _, -, . allowed.
Username is required!
Invalid email address!
E-mail is required!
Password is required!
Password is invalid!
Password and confirmation do not match.
Confirm password is required!
I accept
Membership Agreement
Please read the Membership Agreement and check "I accept"!
Free Quick Sign-up
Sign-up Page
Log in
Signing in...
Username or e-mail address is required!
Password is required!
Keep me logged in
Quick Login
Forgot Password
Up
Upload
Download
Share
Publish
New Folder
New File
Copy
Cut
Delete
Paste
Rate
Upgrade
Rotate
Effect
Edit
Slide
History
/////////////////////////////////////////////////////////////////////////////// /// \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
Page URL
File URL
Prev
16/21
Next
Download
( 16 KB )
Note: The DriveHQ service banners will NOT be displayed if the file owner is a paid member.
Comments
Total ratings:
0
Average rating:
Not Rated
Would you like to comment?
Join DriveHQ
for a free account, or
Logon
if you are already a member.