BVB Source Codes

mars Show apply_fwd.hpp Source code

Return Download mars: download apply_fwd.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. #if !defined(BOOST_PP_IS_ITERATING)
  3.  
  4. ///// header body
  5.  
  6. #ifndef BOOST_MPL_APPLY_FWD_HPP_INCLUDED
  7. #define BOOST_MPL_APPLY_FWD_HPP_INCLUDED
  8.  
  9. // Copyright Aleksey Gurtovoy 2000-2004
  10. //
  11. // Distributed under the Boost Software License, Version 1.0.
  12. // (See accompanying file LICENSE_1_0.txt or copy at
  13. // http://www.boost.org/LICENSE_1_0.txt)
  14. //
  15. // See http://www.boost.org/libs/mpl for documentation.
  16.  
  17. // $Id$
  18. // $Date$
  19. // $Revision$
  20.  
  21. #if !defined(BOOST_MPL_PREPROCESSING_MODE)
  22. #   include <boost/mpl/aux_/na.hpp>
  23. #endif
  24.  
  25. #include <boost/mpl/aux_/config/use_preprocessed.hpp>
  26.  
  27. #if !defined(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) \
  28.     && !defined(BOOST_MPL_PREPROCESSING_MODE)
  29.  
  30. #   define BOOST_MPL_PREPROCESSED_HEADER apply_fwd.hpp
  31. #   include <boost/mpl/aux_/include_preprocessed.hpp>
  32.  
  33. #else
  34.  
  35. #   include <boost/mpl/limits/arity.hpp>
  36. #   include <boost/mpl/aux_/preprocessor/params.hpp>
  37. #   include <boost/mpl/aux_/preprocessor/default_params.hpp>
  38. #   include <boost/mpl/aux_/config/ctps.hpp>
  39. #   include <boost/mpl/aux_/nttp_decl.hpp>
  40.  
  41. #   include <boost/preprocessor/comma_if.hpp>
  42. #   include <boost/preprocessor/iterate.hpp>
  43. #   include <boost/preprocessor/cat.hpp>
  44.  
  45. // agurt, 15/jan/02: top-level 'apply' template gives an ICE on MSVC
  46. // (for known reasons)
  47. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
  48. #   define BOOST_MPL_CFG_NO_APPLY_TEMPLATE
  49. #endif
  50.  
  51. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  52.  
  53. // local macro, #undef-ined at the end of the header
  54. #   define AUX778076_APPLY_DEF_PARAMS(param, value) \
  55.     BOOST_MPL_PP_DEFAULT_PARAMS( \
  56.           BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
  57.         , param \
  58.         , value \
  59.         ) \
  60.     /**/
  61.  
  62. #   define AUX778076_APPLY_N_COMMA_PARAMS(n, param) \
  63.     BOOST_PP_COMMA_IF(n) \
  64.     BOOST_MPL_PP_PARAMS(n, param) \
  65.     /**/
  66.  
  67. #   if !defined(BOOST_MPL_CFG_NO_APPLY_TEMPLATE)
  68.  
  69. #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
  70. // forward declaration
  71. template<
  72.       typename F, AUX778076_APPLY_DEF_PARAMS(typename T, na)
  73.     >
  74. struct apply;
  75. #else
  76. namespace aux {
  77. template< BOOST_AUX_NTTP_DECL(int, arity_) > struct apply_chooser;
  78. }
  79. #endif
  80.  
  81. #   endif // BOOST_MPL_CFG_NO_APPLY_TEMPLATE
  82.  
  83. #define BOOST_PP_ITERATION_PARAMS_1 \
  84.     (3,(0, BOOST_MPL_LIMIT_METAFUNCTION_ARITY, <boost/mpl/apply_fwd.hpp>))
  85. #include BOOST_PP_ITERATE()
  86.  
  87.  
  88. #   undef AUX778076_APPLY_N_COMMA_PARAMS
  89. #   undef AUX778076_APPLY_DEF_PARAMS
  90.  
  91. }}
  92.  
  93. #endif // BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
  94. #endif // BOOST_MPL_APPLY_FWD_HPP_INCLUDED
  95.  
  96. ///// iteration
  97.  
  98. #else
  99. #define i_ BOOST_PP_FRAME_ITERATION(1)
  100.  
  101. template<
  102.       typename F AUX778076_APPLY_N_COMMA_PARAMS(i_, typename T)
  103.     >
  104. struct BOOST_PP_CAT(apply,i_);
  105.  
  106. #undef i_
  107. #endif // BOOST_PP_IS_ITERATING
  108.  
downloadapply_fwd.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top