BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bdlf::Bind_ImplSelector< t_RET, t_FUNC, t_BOUND_TUPLE > Struct Template Reference

#include <bdlf_bind.h>

Public Types

enum  { k_IS_EXPLICIT }
 
typedef bsl::conditional< k_IS_EXPLICIT, Bind_ImplExplicit< t_RET, t_FUNC, t_BOUND_TUPLE >, Bind_Impl< t_RET, t_FUNC, t_BOUND_TUPLE > >::type Type
 

Detailed Description

template<class t_RET, class t_FUNC, class t_BOUND_TUPLE>
struct bdlf::Bind_ImplSelector< t_RET, t_FUNC, t_BOUND_TUPLE >

This utility is used to select the best bind implementation for the given function and invocation template. Bind_ImplExplicit is selected if the binder is explicit, else Bind_Impl is selected. A binder is explicit when:

  1. The function signature can be determined completely (return and argument types, e.g., free or member function pointers).
  2. There are no duplicate references to the same placeholder nor any nested Bind objects in the bound arguments.
  3. There are no ellipsis argument in the signature of the function.

Member Typedef Documentation

◆ Type

template<class t_RET , class t_FUNC , class t_BOUND_TUPLE >
typedef bsl::conditional<k_IS_EXPLICIT,Bind_ImplExplicit<t_RET,t_FUNC,t_BOUND_TUPLE>,Bind_Impl<t_RET,t_FUNC,t_BOUND_TUPLE>>::type bdlf::Bind_ImplSelector< t_RET, t_FUNC, t_BOUND_TUPLE >::Type

Member Enumeration Documentation

◆ anonymous enum

template<class t_RET , class t_FUNC , class t_BOUND_TUPLE >
anonymous enum
Enumerator
k_IS_EXPLICIT 

The documentation for this struct was generated from the following file: