File indexing completed on 2025-01-19 09:47:54
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_SPIRIT_LAZY_NOVEMBER_04_2008_1157AM)
0008 #define BOOST_SPIRIT_LAZY_NOVEMBER_04_2008_1157AM
0009
0010 #if defined(_MSC_VER)
0011 #pragma once
0012 #endif
0013
0014 #include <boost/spirit/home/support/modify.hpp>
0015 #include <boost/spirit/home/support/detail/is_spirit_tag.hpp>
0016 #include <boost/proto/traits.hpp>
0017
0018 namespace boost { namespace phoenix
0019 {
0020 template <typename Expr>
0021 struct actor;
0022 }}
0023
0024 namespace boost { namespace spirit
0025 {
0026 template <typename Eval>
0027 typename proto::terminal<phoenix::actor<Eval> >::type
0028 lazy(phoenix::actor<Eval> const& f)
0029 {
0030 return proto::terminal<phoenix::actor<Eval> >::type::make(f);
0031 }
0032
0033 namespace tag
0034 {
0035 struct lazy_eval
0036 {
0037 BOOST_SPIRIT_IS_TAG()
0038 };
0039 }
0040
0041 template <typename Domain>
0042 struct is_modifier_directive<Domain, tag::lazy_eval>
0043 : mpl::true_ {};
0044 }}
0045
0046 #endif