When invoke_result cannot deduce the actual return type of a functor (in C++03 mode), it yields this type as a placeholder. The advantage of using this placeholder instead of a compilation failure (e.g., using a static assert) is that the return type of an INVOKE() operation is often discarded, so our failure to deduce the return type is often harmless. Since InvokeResultDeductionFailed is a return type, it must be convertible from the actual return type; this conversion is accomplished by means of a constructor that makes it convertible from any type.
Declared in <bslmf_invokeresult.h>
struct InvokeResultDeductionFailed;
| Name | Description |
|---|---|
InvokeResultDeductionFailed [constructor] | Convert from an arbitrary type. The actual argument value is discarded. |