ATLAS Offline Software
Loading...
Searching...
No Matches
pputils.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
4 */
28
29
30#ifndef CXXUTILS_PPARGS_H
31#define CXXUTILS_PPARGS_H
32
33
34#define CXXUTILS_PP_FIRST(...) CXXUTILS_PP_ARG1(__VA_ARGS__)
35#define CXXUTILS_PP_ARG1(...) __VA_OPT__(CXXUTILS_PP_ARG1_(__VA_ARGS__))
36#define CXXUTILS_PP_ARG1_(A, ...) , A
37
38#define CXXUTILS_PP_SECOND(...) CXXUTILS_PP_ARG2(__VA_ARGS__)
39#define CXXUTILS_PP_ARG2(...) __VA_OPT__(CXXUTILS_PP_ARG2_(__VA_ARGS__))
40#define CXXUTILS_PP_ARG2_(A, ...) CXXUTILS_PP_ARG1(__VA_ARGS__)
41
42#define CXXUTILS_PP_THIRD(...) CXXUTILS_PP_ARG3(__VA_ARGS__)
43#define CXXUTILS_PP_ARG3(...) __VA_OPT__(CXXUTILS_PP_ARG3_(__VA_ARGS__))
44#define CXXUTILS_PP_ARG3_(A, ...) CXXUTILS_PP_ARG2(__VA_ARGS__)
45
46#define CXXUTILS_PP_FOURTH(...) CXXUTILS_PP_ARG4(__VA_ARGS__)
47#define CXXUTILS_PP_ARG4(...) __VA_OPT__(CXXUTILS_PP_ARG4_(__VA_ARGS__))
48#define CXXUTILS_PP_ARG4_(A, ...) CXXUTILS_PP_ARG3(__VA_ARGS__)
49
50#define CXXUTILS_PP_FIFTH(...) CXXUTILS_PP_ARG5(__VA_ARGS__)
51#define CXXUTILS_PP_ARG5(...) __VA_OPT__(CXXUTILS_PP_ARG5_(__VA_ARGS__))
52#define CXXUTILS_PP_ARG5_(A, ...) CXXUTILS_PP_ARG4(__VA_ARGS__)
53
54
55#endif // not CXXUTILS_PPARGS_H