Chris@102: /*============================================================================= Chris@102: Copyright (c) 2009 Hartmut Kaiser Chris@102: Copyright (c) 2014 Joel de Guzman Chris@102: Chris@102: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@102: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: ==============================================================================*/ Chris@102: #if !defined(SPIRIT_QI_BOOL_POLICIES_SEP_29_2009_0710AM) Chris@102: #define SPIRIT_QI_BOOL_POLICIES_SEP_29_2009_0710AM Chris@102: Chris@102: #if defined(_MSC_VER) Chris@102: #pragma once Chris@102: #endif Chris@102: Chris@102: #include Chris@102: #include Chris@102: Chris@102: namespace boost { namespace spirit { namespace x3 Chris@102: { Chris@102: /////////////////////////////////////////////////////////////////////////// Chris@102: // Default boolean policies Chris@102: /////////////////////////////////////////////////////////////////////////// Chris@102: template Chris@102: struct bool_policies Chris@102: { Chris@102: template Chris@102: static bool Chris@102: parse_true(Iterator& first, Iterator const& last, Attribute& attr_) Chris@102: { Chris@102: if (detail::string_parse("true", first, last, unused)) Chris@102: { Chris@102: traits::move_to(T(true), attr_); // result is true Chris@102: return true; Chris@102: } Chris@102: return false; Chris@102: } Chris@102: Chris@102: template Chris@102: static bool Chris@102: parse_false(Iterator& first, Iterator const& last, Attribute& attr_) Chris@102: { Chris@102: if (detail::string_parse("false", first, last, unused)) Chris@102: { Chris@102: traits::move_to(T(false), attr_); // result is false Chris@102: return true; Chris@102: } Chris@102: return false; Chris@102: } Chris@102: }; Chris@102: }}} Chris@102: Chris@102: #endif