This component‐private metafunction computes an overload set consisting of one function, named candidate, for each type in (template parameters) t_HEAD, t_TAIL..., having one parameter of that type. Each such function participates in overload resolution only when std::declval<t_SRC>() is convertible to the alternative without narrowing, and returns bsl::integral_constant<t_INDEX + i>, where i is the zero‐based index of the corresponding alternative. Note that a type that occurs multiple times in t_HEAD, t_TAIL... (possibly with varying cv‐qualifications) will only result in the generation of a single candidate. This implementation relies on expression SFINAE, decltype, std::declval, and P1957R2; since these features are not available in C++03, the C++03 version requires an exact match modulo cv‐qualification.
Synopsis
Declared in <bslstl_variant.h>
template<
class t_SRC,
size_t t_INDEX,
class t_HEAD,
class... t_TAIL>
struct Variant_OverloadSetImp
: Variant_OverloadSetImp<t_SRC, t_INDEX + 1, t_TAIL...>
Base Classes
Name |
Description |
|
This component‐private metafunction computes an overload set consisting of one function, named |
Static Member Functions
Name |
Description |
Overload candidate selecting alternative |
Using Declarations
Name |
Specializations
Derived Classes
Name |
Description |
|
This component‐private metafunction computes an overload set consisting of one function, named |
Created with MrDocs