BVB Source Codes

mars Show output_sequence.hpp Source code

Return Download mars: download output_sequence.hpp Source code - Download mars Source code - Type:.hpp
  1. // (C) Copyright 2008 CodeRage, LLC (turkanis at coderage dot com)
  2. // (C) Copyright 2003-2007 Jonathan Turkanis
  3. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
  5.  
  6. // See http://www.boost.org/libs/iostreams for documentation.
  7.  
  8. #ifndef BOOST_IOSTREAMS_OUTPUT_SEQUENCE_HPP_INCLUDED
  9. #define BOOST_IOSTREAMS_OUTPUT_SEQUENCE_HPP_INCLUDED
  10.  
  11. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  12. # pragma once
  13. #endif
  14.  
  15. #include <utility>           // pair.
  16. #include <boost/config.hpp>  // DEDUCED_TYPENAME, MSVC.
  17. #include <boost/detail/workaround.hpp>
  18. #include <boost/iostreams/detail/wrap_unwrap.hpp>
  19. #include <boost/iostreams/operations_fwd.hpp>  // is_custom
  20. #include <boost/iostreams/traits.hpp>
  21. #include <boost/mpl/if.hpp>
  22.  
  23. // Must come last.
  24. #include <boost/iostreams/detail/config/disable_warnings.hpp>
  25.  
  26. namespace mars_boost {} namespace boost = mars_boost; namespace mars_boost { namespace iostreams {
  27.  
  28. namespace detail {
  29.  
  30. template<typename T>
  31. struct output_sequence_impl;
  32.  
  33. } // End namespace detail.
  34.  
  35. template<typename T>
  36. inline std::pair<
  37.     BOOST_DEDUCED_TYPENAME char_type_of<T>::type*,
  38.     BOOST_DEDUCED_TYPENAME char_type_of<T>::type*
  39. >
  40. output_sequence(T& t)
  41. { return detail::output_sequence_impl<T>::output_sequence(t); }
  42.  
  43. namespace detail {
  44.  
  45. //------------------Definition of output_sequence_impl------------------------//
  46.  
  47. template<typename T>
  48. struct output_sequence_impl
  49.     : mpl::if_<
  50.           detail::is_custom<T>,
  51.           operations<T>,
  52.           output_sequence_impl<direct_tag>
  53.       >::type
  54.     { };
  55.  
  56. template<>
  57. struct output_sequence_impl<direct_tag> {
  58.     template<typename U>
  59.     static std::pair<
  60.         BOOST_DEDUCED_TYPENAME char_type_of<U>::type*,
  61.         BOOST_DEDUCED_TYPENAME char_type_of<U>::type*
  62.     >
  63.     output_sequence(U& u) { return u.output_sequence(); }
  64. };
  65.  
  66. } // End namespace detail.
  67.  
  68. } } // End namespaces iostreams, boost.
  69.  
  70. #include <boost/iostreams/detail/config/enable_warnings.hpp>
  71.  
  72. #endif // #ifndef BOOST_IOSTREAMS_OUTPUT_SEQUENCE_HPP_INCLUDED
  73.  
downloadoutput_sequence.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