コード例 #1
0
ファイル: dereference.hpp プロジェクト: kundor/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				return call<limit::value == std::size_t(-1)>(
					sprout::tuples::get<0>(expr.args()),
					ctx,
					sprout::weed::eval(sprout::tuples::get<0>(expr.args()), ctx)
					);
			}
コード例 #2
0
ファイル: minus.hpp プロジェクト: Fadis/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				return call(expr.args(), ctx);
			}
コード例 #3
0
ファイル: negate.hpp プロジェクト: LoliGothick/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				return call(ctx, sprout::weed::eval(sprout::tuples::get<0>(expr.args()), ctx));
			}
コード例 #4
0
ファイル: address_of.hpp プロジェクト: LoliGothick/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				return sprout::weed::eval(sprout::tuples::get<0>(expr.args()), ctx).success()
					? result_type(true, ctx.begin(), attribute_type(), ctx)
					: result_type(false, ctx.begin(), attribute_type(), ctx)
					;
			}
コード例 #5
0
ファイル: parser.hpp プロジェクト: darkfall/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				return call(
					sprout::tuples::get<0>(expr.args())
						.template operator()(ctx.begin(), ctx.end(), ctx),
					ctx
					);
			}
コード例 #6
0
ファイル: char_type.hpp プロジェクト: darkfall/Sprout
			SPROUT_CONSTEXPR result_type operator()(
				Expr const& expr,
				context_type const& ctx
				) const
			{
				typedef typename std::iterator_traits<Iterator>::value_type elem_type;
				return ctx.begin() != ctx.end()
					&& *ctx.begin() == elem_type(sprout::tuples::get<0>(expr.args()))
					? result_type(
						true,
						sprout::next(ctx.begin()),
						attribute_type(),
						context_type(ctx, sprout::next(ctx.begin()))
						)
					: result_type(false, ctx.begin(), attribute_type(), ctx)
					;
			}