File indexing completed on 2025-01-18 09:52:30
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_SPIRIT_REPOSITORY_SUPPORT_SUBRULE_CONTEXT_AUGUST_12_2009_0539PM)
0009 #define BOOST_SPIRIT_REPOSITORY_SUPPORT_SUBRULE_CONTEXT_AUGUST_12_2009_0539PM
0010
0011 #if defined(_MSC_VER)
0012 #pragma once
0013 #endif
0014
0015 #include <boost/spirit/home/support/context.hpp>
0016
0017
0018 namespace boost { namespace spirit { namespace repository
0019 {
0020
0021
0022
0023
0024 template <typename Group, typename Attributes, typename Locals>
0025 struct subrule_context
0026 : context<Attributes, Locals>
0027 {
0028 typedef context<Attributes, Locals> base_type;
0029 typedef Group group_type;
0030
0031 subrule_context(
0032 Group const& group
0033 , typename Attributes::car_type attribute
0034 ) : base_type(attribute), group(group)
0035 {
0036 }
0037
0038 template <typename Args, typename Context>
0039 subrule_context(
0040 Group const& group
0041 , typename Attributes::car_type attribute
0042 , Args const& args
0043 , Context& caller_context
0044 ) : base_type(attribute, args, caller_context), group(group)
0045 {
0046 }
0047
0048 subrule_context(Group const& group, Attributes const& attributes)
0049 : base_type(attributes), group(group)
0050 {
0051 }
0052
0053 Group const& group;
0054 };
0055 }}}
0056
0057 #endif