BVB Source Codes

mars Show is_placeholder.hpp Source code

Return Download mars: download is_placeholder.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. #ifndef BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
  3. #define BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
  4.  
  5. // Copyright Aleksey Gurtovoy 2001-2004
  6. //
  7. // Distributed under the Boost Software License, Version 1.0.
  8. // (See accompanying file LICENSE_1_0.txt or copy at
  9. // http://www.boost.org/LICENSE_1_0.txt)
  10. //
  11. // See http://www.boost.org/libs/mpl for documentation.
  12.  
  13. // $Id$
  14. // $Date$
  15. // $Revision$
  16.  
  17. #include <boost/mpl/arg_fwd.hpp>
  18. #include <boost/mpl/bool.hpp>
  19. #include <boost/mpl/aux_/yes_no.hpp>
  20. #include <boost/mpl/aux_/type_wrapper.hpp>
  21. #include <boost/mpl/aux_/nttp_decl.hpp>
  22. #include <boost/mpl/aux_/config/ctps.hpp>
  23. #include <boost/mpl/aux_/config/static_constant.hpp>
  24.  
  25. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  26.  
  27. #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
  28.  
  29. template< typename T >
  30. struct is_placeholder
  31.     : bool_<false>
  32. {
  33. };
  34.  
  35. template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
  36. struct is_placeholder< arg<N> >
  37.     : bool_<true>
  38. {
  39. };
  40.  
  41. #else
  42.  
  43. namespace aux {
  44.  
  45. aux::no_tag is_placeholder_helper(...);
  46.  
  47. template< BOOST_MPL_AUX_NTTP_DECL(int, N) >
  48. aux::yes_tag is_placeholder_helper(aux::type_wrapper< arg<N> >*);
  49.  
  50. } // namespace aux
  51.  
  52. template< typename T >
  53. struct is_placeholder
  54. {
  55.     static aux::type_wrapper<T>* get();
  56.     BOOST_STATIC_CONSTANT(bool, value =
  57.           sizeof(aux::is_placeholder_helper(get())) == sizeof(aux::yes_tag)
  58.         );
  59.    
  60.     typedef bool_<value> type;
  61. };
  62.  
  63. #endif // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
  64.  
  65. }}
  66.  
  67. #endif // BOOST_MPL_IS_PLACEHOLDER_HPP_INCLUDED
  68.  
downloadis_placeholder.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