]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/spirit/test/qi/regression_one_element_sequence_attribute.cpp
1 // Copyright (c) 2010 Josh Wilson
2 // Copyright (c) 2001-2010 Hartmut Kaiser
4 // Distributed under the Boost Software License, Version 1.0. (See accompanying
5 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 #include <boost/spirit/include/qi.hpp>
8 #include <boost/fusion/include/adapt_struct.hpp>
9 #include <boost/variant.hpp>
12 namespace qi
= boost::spirit::qi
;
14 ///////////////////////////////////////////////////////////////////////////////
15 struct Number
{ float base
; };
17 BOOST_FUSION_ADAPT_STRUCT( Number
, (float, base
) )
21 qi::symbols
<char, Number
> sym
;
22 qi::rule
<std::string::const_iterator
, Number()> rule
;
23 rule
%= sym
; // Caused compiler error after getting r61322
26 ///////////////////////////////////////////////////////////////////////////////
27 typedef boost::variant
<int, float> internal_type
;
29 struct Number2
{ internal_type base
; };
31 BOOST_FUSION_ADAPT_STRUCT( Number2
, (internal_type
, base
) )
35 qi::symbols
<char, Number2
> sym
;
36 qi::rule
<std::string::const_iterator
, Number2()> rule
;
37 rule
%= sym
; // Caused compiler error after getting r61322