annotate DEPENDENCIES/generic/include/boost/spirit/home/x3/numeric/real.hpp @ 118:770eb830ec19 emscripten

Typo fix
author Chris Cannam
date Wed, 18 May 2016 16:14:08 +0100
parents f46d142149f5
children
rev   line source
Chris@102 1 /*=============================================================================
Chris@102 2 Copyright (c) 2001-2014 Joel de Guzman
Chris@102 3
Chris@102 4 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@102 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@102 6 ==============================================================================*/
Chris@102 7 #if !defined(BOOST_SPIRIT_X3_REAL_APRIL_18_2006_0850AM)
Chris@102 8 #define BOOST_SPIRIT_X3_REAL_APRIL_18_2006_0850AM
Chris@102 9
Chris@102 10 #include <boost/spirit/home/x3/core/parser.hpp>
Chris@102 11 #include <boost/spirit/home/x3/core/skip_over.hpp>
Chris@102 12 #include <boost/spirit/home/x3/numeric/real_policies.hpp>
Chris@102 13 #include <boost/spirit/home/x3/support/numeric_utils/extract_real.hpp>
Chris@102 14
Chris@102 15 namespace boost { namespace spirit { namespace x3
Chris@102 16 {
Chris@102 17 template <typename T, typename RealPolicies = real_policies<T> >
Chris@102 18 struct real_parser : parser<real_parser<T, RealPolicies> >
Chris@102 19 {
Chris@102 20 typedef T attribute_type;
Chris@102 21 static bool const has_attribute = true;
Chris@102 22
Chris@102 23 real_parser()
Chris@102 24 : policies() {}
Chris@102 25
Chris@102 26 real_parser(RealPolicies const& policies)
Chris@102 27 : policies(policies) {}
Chris@102 28
Chris@102 29 template <typename Iterator, typename Context>
Chris@102 30 bool parse(Iterator& first, Iterator const& last
Chris@102 31 , Context& context, unused_type, T& attr_) const
Chris@102 32 {
Chris@102 33 x3::skip_over(first, last, context);
Chris@102 34 return extract_real<T, RealPolicies>::parse(first, last, attr_, policies);
Chris@102 35 }
Chris@102 36
Chris@102 37 template <typename Iterator, typename Context, typename Attribute>
Chris@102 38 bool parse(Iterator& first, Iterator const& last
Chris@102 39 , Context& context, unused_type, Attribute& attr_param) const
Chris@102 40 {
Chris@102 41 // this case is called when Attribute is not T
Chris@102 42 T attr_;
Chris@102 43 if (parse(first, last, context, unused, attr_))
Chris@102 44 {
Chris@102 45 traits::move_to(attr_, attr_param);
Chris@102 46 return true;
Chris@102 47 }
Chris@102 48 return false;
Chris@102 49 }
Chris@102 50
Chris@102 51 RealPolicies policies;
Chris@102 52 };
Chris@102 53
Chris@102 54 typedef real_parser<float> float_type;
Chris@102 55 float_type const float_ = {};
Chris@102 56
Chris@102 57 typedef real_parser<double> double_type;
Chris@102 58 double_type const double_ = {};
Chris@102 59
Chris@102 60 }}}
Chris@102 61
Chris@102 62 #endif