• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /*=============================================================================
2      Copyright (c) 1999-2003 Jaakko Jarvi
3      Copyright (c) 1999-2003 Jeremiah Willcock
4      Copyright (c) 2001-2011 Joel de Guzman
5  
6      Distributed under the Boost Software License, Version 1.0. (See accompanying
7      file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8  ==============================================================================*/
9  #if !defined(BOOST_IN_05042005_0120)
10  #define BOOST_IN_05042005_0120
11  
12  #include <boost/fusion/support/config.hpp>
13  #include <istream>
14  #include <boost/fusion/sequence/io/detail/in.hpp>
15  #include <boost/fusion/support/is_sequence.hpp>
16  
17  namespace boost { namespace fusion
18  {
19      template <typename Sequence>
20      inline std::istream&
in(std::istream & is,Sequence & seq)21      in(std::istream& is, Sequence& seq)
22      {
23          detail::read_sequence(is, seq);
24          return is;
25      }
26  
27      namespace operators
28      {
29          template <typename Sequence>
30          inline typename
31              boost::enable_if<
32                 fusion::traits::is_sequence<Sequence>
33                , std::istream&
34              >::type
operator >>(std::istream & is,Sequence & seq)35          operator>>(std::istream& is, Sequence& seq)
36          {
37              return fusion::in(is, seq);
38          }
39      }
40      using operators::operator>>;
41  }}
42  
43  #endif
44