PrevUpHomeNext

Header <boost/yap/algorithm.hpp>

namespace boost {
  namespace yap {
    template<typename Expr> struct expression_function;
    template<typename Expr> decltype(auto) deref(Expr &&);
    template<typename T> decltype(auto) value(T &&);
    template<typename Expr, typename I> decltype(auto) get(Expr &&, I const &);
    template<long long I, typename Expr> decltype(auto) get_c(Expr &&);
    template<typename Expr> decltype(auto) left(Expr &&);
    template<typename Expr> decltype(auto) right(Expr &&);
    template<typename Expr> decltype(auto) cond(Expr &&);
    template<typename Expr> decltype(auto) then(Expr &&);
    template<typename Expr> decltype(auto) else_(Expr &&);
    template<typename Expr> decltype(auto) callable(Expr &&);
    template<long long I, typename Expr> 
      decltype(auto) argument(Expr &&, hana::llong< I >);
    template<template< expr_kind, class > class ExprTemplate, expr_kind Kind, 
             typename... T> 
      auto make_expression(T &&...);
    template<template< expr_kind, class > class ExprTemplate, typename T> 
      auto make_terminal(T &&);
    template<template< expr_kind, class > class ExprTemplate, typename T> 
      decltype(auto) as_expr(T &&);
    template<typename Expr> auto make_expression_function(Expr &&);
    template<typename... T> auto replacements(T &&...);
    template<typename Expr, typename... T> 
      decltype(auto) replace_placeholders(Expr &&, T &&...);
    template<typename... T> auto evaluation(T &&...);
    template<typename Expr, typename... T> 
      decltype(auto) evaluate(Expr &&, T &&...);
    template<typename Expr, typename Transform, typename... Transforms> 
      decltype(auto) constexpr 
      transform(Expr &&, Transform &&, Transforms &&...);
    template<typename Expr, typename Transform, typename... Transforms> 
      decltype(auto) transform_strict(Expr &&, Transform &&, Transforms &&...);
  }
}

PrevUpHomeNext