BloombergLP::bslmf::ForwardingType

This template metafunction has a member Type computed such that, for a specified t_TYPE parameter, a function with argument of t_TYPE can be called efficiently from another function (e.g., a wrapper) by declaring the corresponding parameter of the other wrapper as 'typename ForwardingType<t_TYPE>::Type'. The Type member is computed to minimize the number of expensive copies while forwarding the arguments as faithfully as possible.

Synopsis

Declared in <bslmf_forwardingtype.h>

template<class t_TYPE>
class ForwardingType;

Type Aliases

NameDescription
TargetType The closest type used to "reconstitute" t_TYPE from ForwardingType<t_TYPE>::Type. This type may differ from t_TYPE through the addition of a reference.
Type The type that should be used to forward t_TYPE through a chain of function calls.

Specializations

NameDescription
ForwardingType<Signaler_NotArg> This template metafunction has a member Type computed such that, for a specified t_TYPE parameter, a function with argument of t_TYPE can be called efficiently from another function (e.g., a wrapper) by declaring the corresponding parameter of the other wrapper as 'typename ForwardingType<t_TYPE>::Type'. The Type member is computed to minimize the number of expensive copies while forwarding the arguments as faithfully as possible.

Derived Classes

NameDescription
ConstForwardingType DEPRECATED: Use ForwardingType instead.