Mercurial > hg > vamp-build-and-test
view DEPENDENCIES/generic/include/boost/spirit/home/lex/detail/sequence_function.hpp @ 72:004555bedba1
Merge
author | Chris Cannam |
---|---|
date | Wed, 29 Oct 2014 17:39:34 +0000 |
parents | 2665513ce2d3 |
children |
line wrap: on
line source
// Copyright (c) 2001-2011 Hartmut Kaiser // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #if !defined(BOOST_SPIRIT_LEX_SEQUENCE_FUNCTION_FEB_28_2007_0249PM) #define BOOST_SPIRIT_LEX_SEQUENCE_FUNCTION_FEB_28_2007_0249PM #if defined(_MSC_VER) #pragma once #endif #include <boost/spirit/home/lex/domain.hpp> #include <boost/spirit/home/support/unused.hpp> namespace boost { namespace spirit { namespace lex { namespace detail { template <typename LexerDef, typename String> struct sequence_collect_function { sequence_collect_function(LexerDef& def_, String const& state_ , String const& targetstate_) : def(def_), state(state_), targetstate(targetstate_) {} template <typename Component> bool operator()(Component const& component) const { component.collect(def, state, targetstate); return false; // execute for all sequence elements } LexerDef& def; String const& state; String const& targetstate; private: // silence MSVC warning C4512: assignment operator could not be generated sequence_collect_function& operator= (sequence_collect_function const&); }; template <typename LexerDef> struct sequence_add_actions_function { sequence_add_actions_function(LexerDef& def_) : def(def_) {} template <typename Component> bool operator()(Component const& component) const { component.add_actions(def); return false; // execute for all sequence elements } LexerDef& def; private: // silence MSVC warning C4512: assignment operator could not be generated sequence_add_actions_function& operator= (sequence_add_actions_function const&); }; }}}} #endif