xtd_c - Reference Guide 0.2.0
add_last_arg_to_command.h File Reference

Definition

Contains add_last_arg_to_command_ macro.

Go to the source code of this file.

Macros

#define __add_last_arg_to_command10_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)   command(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, last_arg)
 
#define __add_last_arg_to_command1_args__(command, last_arg, arg1)   command(arg1, last_arg)
 
#define __add_last_arg_to_command2_args__(command, last_arg, arg1, arg2)   command(arg1, arg2, last_arg)
 
#define __add_last_arg_to_command3_args__(command, last_arg, arg1, arg2, arg3)   command(arg1, arg2, arg3, last_arg)
 
#define __add_last_arg_to_command4_args__(command, last_arg, arg1, arg2, arg3, arg4)   command(arg1, arg2, arg3, arg4, last_arg)
 
#define __add_last_arg_to_command5_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5)   command(arg1, arg2, arg3, arg4, arg5, last_arg)
 
#define __add_last_arg_to_command6_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5, arg6)   command(arg1, arg2, arg3, arg4, arg5, arg6, last_arg)
 
#define __add_last_arg_to_command7_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5, arg6, arg7)   command(arg1, arg2, arg3, arg4, arg5, arg6, arg7, last_arg)
 
#define __add_last_arg_to_command8_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)   command(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, last_arg)
 
#define __add_last_arg_to_command9_args__(command, last_arg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)   command(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, last_arg)
 
#define __add_last_arg_to_command_chooser__(command, last_arg, ...)   __get_add_last_arg_to_command_maximum_args__(__VA_ARGS__, __add_last_arg_to_command10_args__, __add_last_arg_to_command9_args__, __add_last_arg_to_command8_args__, __add_last_arg_to_command7_args__, __add_last_arg_to_command6_args__, __add_last_arg_to_command5_args__, __add_last_arg_to_command4_args__, __add_last_arg_to_command3_args__, __add_last_arg_to_command2_args__, __add_last_arg_to_command1_args__, )
 
#define __get_add_last_arg_to_command_maximum_args__(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, ...)   arg11
 
#define add_last_arg_to_command_(command, last_arg, ...)   __add_last_arg_to_command_chooser__(command, last_arg, __VA_ARGS__)(command, last_arg, __VA_ARGS__)
 Adds last argument to a command with variadic arguments. More...
 

Macro Definition Documentation

◆ add_last_arg_to_command_

#define add_last_arg_to_command_ (   command,
  last_arg,
  ... 
)    __add_last_arg_to_command_chooser__(command, last_arg, __VA_ARGS__)(command, last_arg, __VA_ARGS__)

Adds last argument to a command with variadic arguments.

Parameters
commandThe variadic arguments command.
last_argThe last argument to add to variadic arguments
...Variadic arguments.
Namespace
xtd
Library
xtd_c.core
Remarks
This macro is use specifically for add current stack frame to but not only.
Warning
The variadic arguments is limited to maximum 10 arguments.
See also
assert_ or cassert_ macro for example of use.