This component‐private class template contains the physical representation and provides the variadic interfaces for bsl::function (see class and component documentation for bsl::function). bsl::function publicly inherits from an instantiation of this template. This implementation class exists to 1) minimize the amount of variadic template expansion required in C++03 using the sim_cpp11_features.pl utility and 2) work around issues with the Sun CC compiler, which has trouble with argument type deduction when a template argument has a partial specialization (as Function_Variadic does). bsl::function does not have a partial specialization and delegates to the Function_Variadic base class only those parts of the interface and implementation that depend on decomposing the function prototype into a return type and variadic list of argument types.
Synopsis
Declared in <bslstl_function.h>
template<
class RET,
class... ARGS>
class Function_Variadic<RET(ARGS...)>
: public Function_ArgTypes<RET(ARGS...)>
Base Classes
Name |
Description |
This component‐private struct template provides the following nested typedefs for |
Type Aliases
Member Functions
Name |
Description |
|
Create an empty object. Use the specified |
If this object is empty, throw |
Protected Data Members
Name |
Friends
Name |
Description |
Forward declaration. |
Created with MrDocs