Component‐private metafunction providing nested argument typedefs for bsl::function.

Synopsis

Declared in <bslstl_function.h>

template<class PROTOTYPE>
struct Function_ArgTypes;

Description

This component‐private struct template provides the following nested typedefs for bsl::function for a specified PROTOTYPE which must be a function type: ` argument_type ‐‐ Only if PROTOTYPE takes exactly one argument first_argument_type ‐‐ Only if PROTOTYPE takes exactly two arguments second_argument_type ‐‐ Only if PROTOTYPE takes exactly two arguments ` The C++ Standard requires that function define these typedefs for compatibility with one‐ and two‐argument legacy (now deprecated) functor adaptors. bsl::function publicly inherits from an instantiation of this template in order to conditionally declare the above nested types. This primary (unspecialized) template provides no typedefs.

Specializations

Name

Description

Function_ArgTypes<RET(ARG)>

Function_ArgTypes specialization for single‐argument function prototypes.

Function_ArgTypes<RET(ARG1, ARG2)>

Function_ArgTypes specialization for two‐argument function prototypes.

Derived Classes

Name

Description

Function_Variadic<RET(ARGS...)>

Component‐private base providing representation and call operator for bsl::function.

Created with MrDocs