Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67064 - sandbox/configurator/boost/configurator/detail
From: for.dshevchenko_at_[hidden]
Date: 2010-12-06 07:08:12


Author: dshevchenko
Date: 2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
New Revision: 67064
URL: http://svn.boost.org/trac/boost/changeset/67064

Log:
Check 'exactly double' in exp_record
-This line, and those below, will be ignored--

M configurator/boost/configurator/detail/pure_options_obtainer.hpp
M configurator/boost/configurator/detail/validators.hpp

Text files modified:
   sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp | 2 ++
   sandbox/configurator/boost/configurator/detail/validators.hpp | 3 ++-
   2 files changed, 4 insertions(+), 1 deletions(-)

Modified: sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp
==============================================================================
--- sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp (original)
+++ sandbox/configurator/boost/configurator/detail/pure_options_obtainer.hpp 2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
@@ -69,6 +69,7 @@
 public:
     pure_options operator()( const str_storage& obtained_strings ) {
         pure_options factual_obtained_options;
+
         BOOST_FOREACH ( const std::string& s, obtained_strings ) {
             if ( option_exists_in_this( s ) ) {
                 obtain_option( s, factual_obtained_options );
@@ -80,6 +81,7 @@
                 notify_about_meaningless_string( s );
             }
         }
+
         check_last_section_closing();
         nonmulti_sections_uniqueness_checker.clear();
         return factual_obtained_options;

Modified: sandbox/configurator/boost/configurator/detail/validators.hpp
==============================================================================
--- sandbox/configurator/boost/configurator/detail/validators.hpp (original)
+++ sandbox/configurator/boost/configurator/detail/validators.hpp 2010-12-06 07:08:09 EST (Mon, 06 Dec 2010)
@@ -422,12 +422,13 @@
     void check( const std::string& exp_record, const std::string& option_name ) {
         #ifdef WITH_SEMANTIC_CHECK
         using boost::spirit::qi::long_double;
+ using boost::spirit::qi::print;
         using boost::spirit::qi::parse;
     
         double number = 0.0;
         bool valid_exp_record = parse( exp_record.begin()
                                        , exp_record.end()
- , long_double
+ , long_double >> !print
                                        , number );
         if ( valid_exp_record ) {
             store_for_option( option_name, number );


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk