#ifndef ML99_PRIV_VARIADICS_GET_H
#define ML99_PRIV_VARIADICS_GET_H

#define ML99_PRIV_VARIADICS_HEAD(...)        ML99_PRIV_VARIADICS_HEAD_AUX(__VA_ARGS__, ~)
#define ML99_PRIV_VARIADICS_HEAD_AUX(x, ...) x

#define ML99_PRIV_VARIADICS_TAIL(...)         ML99_PRIV_VARIADICS_TAIL_AUX(__VA_ARGS__)
#define ML99_PRIV_VARIADICS_TAIL_AUX(_x, ...) __VA_ARGS__

#define ML99_PRIV_VARIADICS_SND(...)            ML99_PRIV_VARIADICS_SND_AUX(__VA_ARGS__, ~)
#define ML99_PRIV_VARIADICS_SND_AUX(_x, y, ...) y

#endif // ML99_PRIV_VARIADICS_GET_H
