BVB Source Codes

mars Show item.hpp Source code

Return Download mars: download item.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. #ifndef BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
  3. #define BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
  4.  
  5. // Copyright Aleksey Gurtovoy 2003-2007
  6. // Copyright David Abrahams 2003-2004
  7. //
  8. // Distributed under the Boost Software License, Version 1.0.
  9. // (See accompanying file LICENSE_1_0.txt or copy at
  10. // http://www.boost.org/LICENSE_1_0.txt)
  11. //
  12. // See http://www.boost.org/libs/mpl for documentation.
  13.  
  14. // $Id$
  15. // $Date$
  16. // $Revision$
  17.  
  18. #include <boost/mpl/long.hpp>
  19. #include <boost/mpl/void.hpp>
  20. #include <boost/mpl/next.hpp>
  21. #include <boost/mpl/prior.hpp>
  22. #include <boost/mpl/set/aux_/set0.hpp>
  23. #include <boost/mpl/aux_/type_wrapper.hpp>
  24. #include <boost/mpl/aux_/config/arrays.hpp>
  25.  
  26. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace mpl {
  27.  
  28. template< typename T, typename Base >
  29. struct s_item
  30.     : Base
  31. {
  32.     typedef s_item<T,Base> item_;
  33.     typedef void_       last_masked_;
  34.     typedef T           item_type_;
  35.     typedef typename Base::item_ base;
  36.     typedef s_item type;
  37.    
  38.     typedef typename next< typename Base::size >::type  size;
  39.     typedef typename next< typename Base::order >::type order;
  40.  
  41. #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
  42.     typedef typename aux::weighted_tag<BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value>::type order_tag_;
  43. #else
  44.     typedef char (&order_tag_)[BOOST_MPL_AUX_MSVC_VALUE_WKND(order)::value];
  45. #endif
  46.  
  47.     BOOST_MPL_AUX_SET_OVERLOAD( order_tag_, ORDER_BY_KEY, s_item, aux::type_wrapper<T>* );
  48.     BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_item, aux::type_wrapper<T>* );
  49. };
  50.  
  51.  
  52. template< typename T, typename Base >
  53. struct s_mask
  54.     : Base
  55. {
  56.     typedef s_mask<T,Base> item_;
  57.     typedef T       last_masked_;
  58.     typedef void_   item_type_;
  59.     typedef typename Base::item_ base;
  60.     typedef typename prior< typename Base::size >::type  size;
  61.     typedef s_mask type;
  62.  
  63.     BOOST_MPL_AUX_SET_OVERLOAD( aux::yes_tag, IS_MASKED, s_mask, aux::type_wrapper<T>* );
  64. };
  65.  
  66.  
  67. template< typename T, typename Base >
  68. struct s_unmask
  69.     : Base
  70. {
  71.     typedef s_unmask<T,Base> item_;
  72.     typedef void_   last_masked_;
  73.     typedef T       item_type_;
  74.     typedef typename Base::item_ base;
  75.     typedef typename next< typename Base::size >::type  size;
  76.  
  77.     BOOST_MPL_AUX_SET_OVERLOAD( aux::no_tag, IS_MASKED, s_unmask, aux::type_wrapper<T>* );
  78. };
  79.  
  80. }}
  81.  
  82. #endif // BOOST_MPL_SET_AUX_ITEM_HPP_INCLUDED
  83.  
downloaditem.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