| Home | Libraries | People | FAQ | More

## Function template value

boost::yap::value

## Synopsis

    // In header: <boost/yap/algorithm.hpp>

    template<typename T> decltype(auto) value(T && x);

## Description

Forwards the sole element of x to the caller, possibly calling `deref()` first if x is a reference expression, or forwards x to the caller unchanged.

More formally:

- If x is not an expression, x is forwarded to the caller.

- Otherwise, if x is a reference expression, the result is `value(deref(x))`.

- Otherwise, if x is an expression with only one value (a unary expression or a terminal expression), the result is the forwarded first element of x.

- Otherwise, x is forwarded to the caller.