BVB Source Codes

mars Show na.hpp Source code

Return Download mars: download na.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. #ifndef BOOST_MPL_AUX_NA_HPP_INCLUDED
  3. #define BOOST_MPL_AUX_NA_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/bool.hpp>
  18. #include <boost/mpl/aux_/na_fwd.hpp>
  19. #include <boost/mpl/aux_/config/msvc.hpp>
  20. #include <boost/mpl/aux_/config/ctps.hpp>
  21.  
  22. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  23.  
  24. template< typename T >
  25. struct is_na
  26.     : false_
  27. {
  28. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
  29.     using false_::value;
  30. #endif
  31. };
  32.  
  33. template<>
  34. struct is_na<na>
  35.     : true_
  36. {
  37. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
  38.     using true_::value;
  39. #endif
  40. };
  41.  
  42. template< typename T >
  43. struct is_not_na
  44.     : true_
  45. {
  46. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
  47.     using true_::value;
  48. #endif
  49. };
  50.  
  51. template<>
  52. struct is_not_na<na>
  53.     : false_
  54. {
  55. #if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
  56.     using false_::value;
  57. #endif
  58. };
  59.  
  60. #if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
  61. template< typename T, typename U > struct if_na
  62. {
  63.     typedef T type;
  64. };
  65.  
  66. template< typename U > struct if_na<na,U>
  67. {
  68.     typedef U type;
  69. };
  70. #else
  71. template< typename T > struct if_na_impl
  72. {
  73.     template< typename U > struct apply
  74.     {
  75.         typedef T type;
  76.     };
  77. };
  78.  
  79. template<> struct if_na_impl<na>
  80. {
  81.     template< typename U > struct apply
  82.     {
  83.         typedef U type;
  84.     };
  85. };
  86.  
  87. template< typename T, typename U > struct if_na
  88.     : if_na_impl<T>::template apply<U>
  89. {
  90. };
  91. #endif
  92.  
  93. }}
  94.  
  95. #endif // BOOST_MPL_AUX_NA_HPP_INCLUDED
  96.  
downloadna.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