Quick Links:

bal | bbl | bdl | bsl

Public Types

bdlf::Bind_CalcParameterMask< LIST > Struct Template Reference

#include <bdlf_bind.h>

List of all members.

Public Types

enum  {
  k_PARAM1 = Bind_ArgumentNumber<Type1 >::k_VaL, k_PARAM2 = Bind_ArgumentNumber<Type2 >::k_VaL, k_PARAM3 = Bind_ArgumentNumber<Type3 >::k_VaL, k_PARAM4 = Bind_ArgumentNumber<Type4 >::k_VaL,
  k_PARAM5 = Bind_ArgumentNumber<Type5 >::k_VaL, k_PARAM6 = Bind_ArgumentNumber<Type6 >::k_VaL, k_PARAM7 = Bind_ArgumentNumber<Type7 >::k_VaL, k_PARAM8 = Bind_ArgumentNumber<Type8 >::k_VaL,
  k_PARAM9 = Bind_ArgumentNumber<Type9 >::k_VaL, k_PARAM10 = Bind_ArgumentNumber<Type10>::k_VaL, k_PARAM11 = Bind_ArgumentNumber<Type11>::k_VaL, k_PARAM12 = Bind_ArgumentNumber<Type12>::k_VaL,
  k_PARAM13 = Bind_ArgumentNumber<Type13>::k_VaL, k_PARAM14 = Bind_ArgumentNumber<Type14>::k_VaL, k_PARAM_MASK, k_PARAM_MASK2,
  k_IS_EXPLICIT, k_PARAMINDEX1 = ( (k_PARAM1 == 1 ? 1 : 0) + (k_PARAM2 == 1 ? 2 : 0) + (k_PARAM3 == 1 ? 3 : 0) + (k_PARAM4 == 1 ? 4 : 0) + (k_PARAM5 == 1 ? 5 : 0) + (k_PARAM6 == 1 ? 6 : 0) + (k_PARAM7 == 1 ? 7 : 0) + (k_PARAM8 == 1 ? 8 : 0) + (k_PARAM9 == 1 ? 9 : 0) + (k_PARAM10 == 1 ? 10 : 0) + (k_PARAM11 == 1 ? 11 : 0) + (k_PARAM12 == 1 ? 12 : 0) + (k_PARAM13 == 1 ? 13 : 0) + (k_PARAM14 == 1 ? 14 : 0)), k_PARAMINDEX2 = ( (k_PARAM1 == 2 ? 1 : 0) + (k_PARAM2 == 2 ? 2 : 0) + (k_PARAM3 == 2 ? 3 : 0) + (k_PARAM4 == 2 ? 4 : 0) + (k_PARAM5 == 2 ? 5 : 0) + (k_PARAM6 == 2 ? 6 : 0) + (k_PARAM7 == 2 ? 7 : 0) + (k_PARAM8 == 2 ? 8 : 0) + (k_PARAM9 == 2 ? 9 : 0) + (k_PARAM10 == 2 ? 10 : 0) + (k_PARAM11 == 2 ? 11 : 0) + (k_PARAM12 == 2 ? 12 : 0) + (k_PARAM13 == 2 ? 13 : 0) + (k_PARAM14 == 2 ? 14 : 0)), k_PARAMINDEX3 = ( (k_PARAM1 == 3 ? 1 : 0) + (k_PARAM2 == 3 ? 2 : 0) + (k_PARAM3 == 3 ? 3 : 0) + (k_PARAM4 == 3 ? 4 : 0) + (k_PARAM5 == 3 ? 5 : 0) + (k_PARAM6 == 3 ? 6 : 0) + (k_PARAM7 == 3 ? 7 : 0) + (k_PARAM8 == 3 ? 8 : 0) + (k_PARAM9 == 3 ? 9 : 0) + (k_PARAM10 == 3 ? 10 : 0) + (k_PARAM11 == 3 ? 11 : 0) + (k_PARAM12 == 3 ? 12 : 0) + (k_PARAM13 == 3 ? 13 : 0) + (k_PARAM14 == 3 ? 14 : 0)),
  k_PARAMINDEX4 = ( (k_PARAM1 == 4 ? 1 : 0) + (k_PARAM2 == 4 ? 2 : 0) + (k_PARAM3 == 4 ? 3 : 0) + (k_PARAM4 == 4 ? 4 : 0) + (k_PARAM5 == 4 ? 5 : 0) + (k_PARAM6 == 4 ? 6 : 0) + (k_PARAM7 == 4 ? 7 : 0) + (k_PARAM8 == 4 ? 8 : 0) + (k_PARAM9 == 4 ? 9 : 0) + (k_PARAM10 == 4 ? 10 : 0) + (k_PARAM11 == 4 ? 11 : 0) + (k_PARAM12 == 4 ? 12 : 0) + (k_PARAM13 == 4 ? 13 : 0) + (k_PARAM14 == 4 ? 14 : 0)), k_PARAMINDEX5 = ( (k_PARAM1 == 5 ? 1 : 0) + (k_PARAM2 == 5 ? 2 : 0) + (k_PARAM3 == 5 ? 3 : 0) + (k_PARAM4 == 5 ? 4 : 0) + (k_PARAM5 == 5 ? 5 : 0) + (k_PARAM6 == 5 ? 6 : 0) + (k_PARAM7 == 5 ? 7 : 0) + (k_PARAM8 == 5 ? 8 : 0) + (k_PARAM9 == 5 ? 9 : 0) + (k_PARAM10 == 5 ? 10 : 0) + (k_PARAM11 == 5 ? 11 : 0) + (k_PARAM12 == 5 ? 12 : 0) + (k_PARAM13 == 5 ? 13 : 0) + (k_PARAM14 == 5 ? 14 : 0)), k_PARAMINDEX6 = ( (k_PARAM1 == 6 ? 1 : 0) + (k_PARAM2 == 6 ? 2 : 0) + (k_PARAM3 == 6 ? 3 : 0) + (k_PARAM4 == 6 ? 4 : 0) + (k_PARAM5 == 6 ? 5 : 0) + (k_PARAM6 == 6 ? 6 : 0) + (k_PARAM7 == 6 ? 7 : 0) + (k_PARAM8 == 6 ? 8 : 0) + (k_PARAM9 == 6 ? 9 : 0) + (k_PARAM10 == 6 ? 10 : 0) + (k_PARAM11 == 6 ? 11 : 0) + (k_PARAM12 == 6 ? 12 : 0) + (k_PARAM13 == 6 ? 13 : 0) + (k_PARAM14 == 6 ? 14 : 0)), k_PARAMINDEX7 = ( (k_PARAM1 == 7 ? 1 : 0) + (k_PARAM2 == 7 ? 2 : 0) + (k_PARAM3 == 7 ? 3 : 0) + (k_PARAM4 == 7 ? 4 : 0) + (k_PARAM5 == 7 ? 5 : 0) + (k_PARAM6 == 7 ? 6 : 0) + (k_PARAM7 == 7 ? 7 : 0) + (k_PARAM8 == 7 ? 8 : 0) + (k_PARAM9 == 7 ? 9 : 0) + (k_PARAM10 == 7 ? 10 : 0) + (k_PARAM11 == 7 ? 11 : 0) + (k_PARAM12 == 7 ? 12 : 0) + (k_PARAM13 == 7 ? 13 : 0) + (k_PARAM14 == 7 ? 14 : 0)),
  k_PARAMINDEX8 = ( (k_PARAM1 == 8 ? 1 : 0) + (k_PARAM2 == 8 ? 2 : 0) + (k_PARAM3 == 8 ? 3 : 0) + (k_PARAM4 == 8 ? 4 : 0) + (k_PARAM5 == 8 ? 5 : 0) + (k_PARAM6 == 8 ? 6 : 0) + (k_PARAM7 == 8 ? 7 : 0) + (k_PARAM8 == 8 ? 8 : 0) + (k_PARAM9 == 8 ? 9 : 0) + (k_PARAM10 == 8 ? 10 : 0) + (k_PARAM11 == 8 ? 11 : 0) + (k_PARAM12 == 8 ? 12 : 0) + (k_PARAM13 == 8 ? 13 : 0) + (k_PARAM14 == 8 ? 14 : 0)), k_PARAMINDEX9 = ( (k_PARAM1 == 9 ? 1 : 0) + (k_PARAM2 == 9 ? 2 : 0) + (k_PARAM3 == 9 ? 3 : 0) + (k_PARAM4 == 9 ? 4 : 0) + (k_PARAM5 == 9 ? 5 : 0) + (k_PARAM6 == 9 ? 6 : 0) + (k_PARAM7 == 9 ? 7 : 0) + (k_PARAM8 == 9 ? 8 : 0) + (k_PARAM9 == 9 ? 9 : 0) + (k_PARAM10 == 9 ? 10 : 0) + (k_PARAM11 == 9 ? 11 : 0) + (k_PARAM12 == 9 ? 12 : 0) + (k_PARAM13 == 9 ? 13 : 0) + (k_PARAM14 == 9 ? 14 : 0)), k_PARAMINDEX10 = ( (k_PARAM1 == 10 ? 1 : 0) + (k_PARAM2 == 10 ? 2 : 0) + (k_PARAM3 == 10 ? 3 : 0) + (k_PARAM4 == 10 ? 4 : 0) + (k_PARAM5 == 10 ? 5 : 0) + (k_PARAM6 == 10 ? 6 : 0) + (k_PARAM7 == 10 ? 7 : 0) + (k_PARAM8 == 10 ? 8 : 0) + (k_PARAM9 == 10 ? 9 : 0) + (k_PARAM10 == 10 ? 10 : 0) + (k_PARAM11 == 10 ? 11 : 0) + (k_PARAM12 == 10 ? 12 : 0) + (k_PARAM13 == 10 ? 13 : 0) + (k_PARAM14 == 10 ? 14 : 0)), k_PARAMINDEX11 = ( (k_PARAM1 == 11 ? 1 : 0) + (k_PARAM2 == 11 ? 2 : 0) + (k_PARAM3 == 11 ? 3 : 0) + (k_PARAM4 == 11 ? 4 : 0) + (k_PARAM5 == 11 ? 5 : 0) + (k_PARAM6 == 11 ? 6 : 0) + (k_PARAM7 == 11 ? 7 : 0) + (k_PARAM8 == 11 ? 8 : 0) + (k_PARAM9 == 11 ? 9 : 0) + (k_PARAM10 == 11 ? 10 : 0) + (k_PARAM11 == 11 ? 11 : 0) + (k_PARAM12 == 11 ? 12 : 0) + (k_PARAM13 == 11 ? 13 : 0) + (k_PARAM14 == 11 ? 14 : 0)),
  k_PARAMINDEX12 = ( (k_PARAM1 == 12 ? 1 : 0) + (k_PARAM2 == 12 ? 2 : 0) + (k_PARAM3 == 12 ? 3 : 0) + (k_PARAM4 == 12 ? 4 : 0) + (k_PARAM5 == 12 ? 5 : 0) + (k_PARAM6 == 12 ? 6 : 0) + (k_PARAM7 == 12 ? 7 : 0) + (k_PARAM8 == 12 ? 8 : 0) + (k_PARAM9 == 12 ? 9 : 0) + (k_PARAM10 == 12 ? 10 : 0) + (k_PARAM11 == 12 ? 11 : 0) + (k_PARAM12 == 12 ? 12 : 0) + (k_PARAM13 == 12 ? 13 : 0) + (k_PARAM14 == 12 ? 14 : 0)), k_PARAMINDEX13 = ( (k_PARAM1 == 13 ? 1 : 0) + (k_PARAM2 == 13 ? 2 : 0) + (k_PARAM3 == 13 ? 3 : 0) + (k_PARAM4 == 13 ? 4 : 0) + (k_PARAM5 == 13 ? 5 : 0) + (k_PARAM6 == 13 ? 6 : 0) + (k_PARAM7 == 13 ? 7 : 0) + (k_PARAM8 == 13 ? 8 : 0) + (k_PARAM9 == 13 ? 9 : 0) + (k_PARAM10 == 13 ? 10 : 0) + (k_PARAM11 == 13 ? 11 : 0) + (k_PARAM12 == 13 ? 12 : 0) + (k_PARAM13 == 13 ? 13 : 0) + (k_PARAM14 == 13 ? 14 : 0)), k_PARAMINDEX14 = ( (k_PARAM1 == 14 ? 1 : 0) + (k_PARAM2 == 14 ? 2 : 0) + (k_PARAM3 == 14 ? 3 : 0) + (k_PARAM4 == 14 ? 4 : 0) + (k_PARAM5 == 14 ? 5 : 0) + (k_PARAM6 == 14 ? 6 : 0) + (k_PARAM7 == 14 ? 7 : 0) + (k_PARAM8 == 14 ? 8 : 0) + (k_PARAM9 == 14 ? 9 : 0) + (k_PARAM10 == 14 ? 10 : 0) + (k_PARAM11 == 14 ? 11 : 0) + (k_PARAM12 == 14 ? 12 : 0) + (k_PARAM13 == 14 ? 13 : 0) + (k_PARAM14 == 14 ? 14 : 0))
}
typedef LIST::template TypeOf
< 1 >::TypeOrDefault 
Type1
typedef LIST::template TypeOf
< 2 >::TypeOrDefault 
Type2
typedef LIST::template TypeOf
< 3 >::TypeOrDefault 
Type3
typedef LIST::template TypeOf
< 4 >::TypeOrDefault 
Type4
typedef LIST::template TypeOf
< 5 >::TypeOrDefault 
Type5
typedef LIST::template TypeOf
< 6 >::TypeOrDefault 
Type6
typedef LIST::template TypeOf
< 7 >::TypeOrDefault 
Type7
typedef LIST::template TypeOf
< 8 >::TypeOrDefault 
Type8
typedef LIST::template TypeOf
< 9 >::TypeOrDefault 
Type9
typedef LIST::template TypeOf
< 10 >::TypeOrDefault 
Type10
typedef LIST::template TypeOf
< 11 >::TypeOrDefault 
Type11
typedef LIST::template TypeOf
< 12 >::TypeOrDefault 
Type12
typedef LIST::template TypeOf
< 13 >::TypeOrDefault 
Type13
typedef LIST::template TypeOf
< 14 >::TypeOrDefault 
Type14

Detailed Description

template<class LIST>
struct bdlf::Bind_CalcParameterMask< LIST >

This meta-function is used to calculate a mask that indicates which parameters in LIST are place-holders and which ones are literal values. It is used by Bind_ImplExplicit.

See Component bdlf_bind


Member Typedef Documentation

template<class LIST >
typedef LIST::template TypeOf< 1>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type1
template<class LIST >
typedef LIST::template TypeOf< 2>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type2
template<class LIST >
typedef LIST::template TypeOf< 3>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type3
template<class LIST >
typedef LIST::template TypeOf< 4>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type4
template<class LIST >
typedef LIST::template TypeOf< 5>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type5
template<class LIST >
typedef LIST::template TypeOf< 6>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type6
template<class LIST >
typedef LIST::template TypeOf< 7>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type7
template<class LIST >
typedef LIST::template TypeOf< 8>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type8
template<class LIST >
typedef LIST::template TypeOf< 9>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type9
template<class LIST >
typedef LIST::template TypeOf<10>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type10
template<class LIST >
typedef LIST::template TypeOf<11>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type11
template<class LIST >
typedef LIST::template TypeOf<12>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type12
template<class LIST >
typedef LIST::template TypeOf<13>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type13
template<class LIST >
typedef LIST::template TypeOf<14>::TypeOrDefault bdlf::Bind_CalcParameterMask< LIST >::Type14

Member Enumeration Documentation

template<class LIST >
anonymous enum
Enumerator:
k_PARAM1 
k_PARAM2 
k_PARAM3 
k_PARAM4 
k_PARAM5 
k_PARAM6 
k_PARAM7 
k_PARAM8 
k_PARAM9 
k_PARAM10 
k_PARAM11 
k_PARAM12 
k_PARAM13 
k_PARAM14 

Individual place-holder indices. For each type that is a valid place-holder, PARAM<N> will be set to the index of the corresponding argument. For non-place-holder types, PARAM<N> will be 0. For nested Bind types, the out-of-range value 31 will be used.

k_PARAM_MASK 

Mask of which parameters are place-holders.

k_PARAM_MASK2 

Mask of which parameters are place-holder calculated by addition rather the by ORing. If the given place-holder is used for multiple arguments, the result of mask will be different from the ORed value above.

k_IS_EXPLICIT 

Indicates if the types defined in LIST are explicit. The LIST is said to be explicit if there are no duplicate references to the same place-holder, and if there is no nested Bind objects. Note that even if LIST is explicit, the binding may still not be explicit (e.g., for function objects that could have multiple signatures, or for functions that take an ellipsis). See the documentation for this component for more information.

k_PARAMINDEX1 
k_PARAMINDEX2 
k_PARAMINDEX3 
k_PARAMINDEX4 
k_PARAMINDEX5 
k_PARAMINDEX6 
k_PARAMINDEX7 
k_PARAMINDEX8 
k_PARAMINDEX9 
k_PARAMINDEX10 
k_PARAMINDEX11 
k_PARAMINDEX12 
k_PARAMINDEX13 
k_PARAMINDEX14 

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