template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2>
ReturnType string_function_2params(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2)
{
return string_function_2params_helper< CharType, ReturnType, CharFunction, WchartFunction, Param1>(
funcChar, funcWchart, param1, param2, ( const CharType *)NULL);
}
/////////////////////////////////////////////////////////
// three parameters
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3>
ReturnType string_function_3params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3, const wchar_t *)
{
return funcWchart( param1, param2, param3);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3>
ReturnType string_function_3params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3, ...)
{
return funcChar( param1, param2, param3);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3>
ReturnType string_function_3params(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3)
{
return string_function_3params_helper< CharType, ReturnType, CharFunction, WchartFunction, Param1>(
funcChar, funcWchart, param1, param2, param3, ( const CharType *)NULL);
}
/////////////////////////////////////////////////////////
// four parameters
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4>
ReturnType string_function_4params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4, const wchar_t *)
{
return funcWchart( param1, param2, param3, param4);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4>
ReturnType string_function_4params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4, ...)
{
return funcChar( param1, param2, param3, param4);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4>
ReturnType string_function_4params(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4)
{
return string_function_4params_helper< CharType, ReturnType, CharFunction, WchartFunction, Param1>(
funcChar, funcWchart, param1, param2, param3, param4, ( const CharType *)NULL);
}
/////////////////////////////////////////////////////////
// five parameters
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4, class Param5>
ReturnType string_function_5params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4,
Param5 param5, const wchar_t *)
{
return funcWchart( param1, param2, param3, param4, param5);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4, class Param5>
ReturnType string_function_5params_helper(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4,
Param5 param5, ...)
{
return funcChar( param1, param2, param3, param4, param5);
}
template< class CharType, class ReturnType, class CharFunction, class WchartFunction, class Param1, class Param2, class Param3, class Param4, class Param5>
ReturnType string_function_5params(
CharFunction funcChar,
WchartFunction funcWchart,
Param1 param1,
Param2 param2,
Param3 param3,
Param4 param4,
Param5 param5)
{
return string_function_5params_helper< CharType, ReturnType, CharFunction, WchartFunction, Param1>(
funcChar, funcWchart, param1, param2, param3, param4, param5, ( const CharType *)NULL);
}
上一页 [1] [2]