file Utils/Utils/include/gambit/Utils/cats.hpp
[No description available] More…
Defines
Name | |
---|---|
CAT(X, Y) | |
CAT2(X, Y) | |
CAT_2 | |
CAT_3(X, Y, Z) | |
CAT_4(A, X, Y, Z) | |
CAT_5(A, B, X, Y, Z) | |
CAT_6(A, B, C, X, Y, Z) | |
CAT_7(A, B, C, D, X, Y, Z) |
Detailed Description
Author: Pat Scott
Date: 2014 Oct
Concatenation macros
Authors:
Macros Documentation
define CAT
#define CAT(
X,
Y
)
CAT2(X,Y)
Concatenate macro arguments for 2-7 arguments.
define CAT2
#define CAT2(
X,
Y
)
X##Y
define CAT_2
#define CAT_2 CAT
define CAT_3
#define CAT_3(
X,
Y,
Z
)
CAT(X,CAT(Y,Z))
define CAT_4
#define CAT_4(
A,
X,
Y,
Z
)
CAT(A,CAT_3(X,Y,Z))
define CAT_5
#define CAT_5(
A,
B,
X,
Y,
Z
)
CAT(A,CAT_4(B,X,Y,Z))
define CAT_6
#define CAT_6(
A,
B,
C,
X,
Y,
Z
)
CAT(A,CAT_5(B,C,X,Y,Z))
define CAT_7
#define CAT_7(
A,
B,
C,
D,
X,
Y,
Z
)
CAT(A,CAT_6(B,C,D,X,Y,Z))
Source code
// GAMBIT: Global and Modular BSM Inference Tool
// *********************************************
/// \file
///
/// Concatenation macros
///
/// *********************************************
///
/// Authors:
///
/// \author Pat Scott
/// (patscott@physics.mcgill.ca)
/// \date 2014 Oct
///
/// *********************************************
#ifndef __cats_hpp__
#define __cats_hpp__
/// Concatenate macro arguments for 2-7 arguments.
/// @{
#define CAT(X,Y) CAT2(X,Y)
#define CAT2(X,Y) X##Y
#define CAT_2 CAT
#define CAT_3(X,Y,Z) CAT(X,CAT(Y,Z))
#define CAT_4(A,X,Y,Z) CAT(A,CAT_3(X,Y,Z))
#define CAT_5(A,B,X,Y,Z) CAT(A,CAT_4(B,X,Y,Z))
#define CAT_6(A,B,C,X,Y,Z) CAT(A,CAT_5(B,C,X,Y,Z))
#define CAT_7(A,B,C,D,X,Y,Z) CAT(A,CAT_6(B,C,D,X,Y,Z))
/// @}
#endif // __cats_hpp__
Updated on 2024-07-18 at 13:53:32 +0000