BVB Source Codes

mars Show template_keyword.hpp Source code

Return Download mars: download template_keyword.hpp Source code - Download mars Source code - Type:.hpp
  1. // Copyright Daniel Wallin 2006. Use, modification and distribution is
  2. // subject to the Boost Software License, Version 1.0. (See accompanying
  3. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4.  
  5. #ifndef BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
  6. # define BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
  7.  
  8. # include <boost/mpl/and.hpp>
  9. # include <boost/mpl/not.hpp>
  10. # include <boost/type_traits/is_convertible.hpp>
  11. # include <boost/type_traits/is_reference.hpp>
  12.  
  13. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace parameter {
  14.  
  15. namespace aux
  16. {
  17.  
  18.   struct template_keyword_tag {};
  19.  
  20.   template <class T, class U>
  21.   struct is_pointer_convertible
  22.     : is_convertible<T*, U*>
  23.   {};
  24.  
  25.   template <class T>
  26.   struct is_template_keyword
  27.     : mpl::and_<
  28.           mpl::not_<is_reference<T> >
  29.         , is_pointer_convertible<T, template_keyword_tag>
  30.       >
  31.   {};
  32.  
  33. } // namespace aux
  34.  
  35. template <class Tag, class T>
  36. struct template_keyword
  37.   : aux::template_keyword_tag
  38. {
  39.     typedef Tag key_type;
  40.     typedef T value_type;
  41.     typedef value_type reference;
  42. };
  43.  
  44. }} // namespace mars_boost::parameter
  45.  
  46. #endif // BOOST_PARAMETER_TEMPLATE_KEYWORD_060203_HPP
  47.  
  48.  
downloadtemplate_keyword.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