49 lines
1.9 KiB
C
49 lines
1.9 KiB
C
/*-----------------------------------------------------------------------------
|
|
Microsoft SXAPW
|
|
|
|
Microsoft Confidential
|
|
Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
|
|
|
|
@doc external
|
|
@module SxApwPreprocessorPaste.h
|
|
|
|
@owner JayKrell
|
|
-----------------------------------------------------------------------------*/
|
|
#if !defined(VS_COMMON_INC_SXAPW_PREPROCESSORPASTE_H_INCLUDED_) // {
|
|
#define VS_COMMON_INC_SXAPW_PREPROCESSORPASTE_H_INCLUDED_
|
|
/*#pragma once ends up in .rgi, which is bad, so do not do it*/
|
|
|
|
#define SxApwPrivatePreprocessorPaste(x, y) x ## y
|
|
|
|
/*-----------------------------------------------------------------------------
|
|
Name: SxApwPreprocessorPaste2, SxApwPreprocessorPaste3, etc.
|
|
@macro
|
|
These macros paste together n tokens, where n is in the name of the macro.
|
|
A level of evaluation is inserted as well.
|
|
|
|
define A 1
|
|
define B 2
|
|
|
|
SxApwPreprocessorPaste2(A, B) -> 12
|
|
@owner JayKrell
|
|
-----------------------------------------------------------------------------*/
|
|
|
|
// These are synonyms.
|
|
#define SxApwPreprocessorPaste(x, y) SxApwPrivatePreprocessorPaste(x, y)
|
|
#define SxApwPreprocessorPaste2(x, y) SxApwPrivatePreprocessorPaste(x, y)
|
|
|
|
#define SxApwPreprocessorPaste3(x, y, z) SxApwPreprocessorPaste(SxApwPreprocessorPaste(x, y), z)
|
|
#define SxApwPreprocessorPaste4(w, x, y, z) SxApwPreprocessorPaste(SxApwPreprocessorPaste3(w, x, y), z)
|
|
#define SxApwPreprocessorPaste5(v, w, x, y, z) SxApwPreprocessorPaste(SxApwPreprocessorPaste4(v, w, x, y), z)
|
|
#define SxApwPreprocessorPaste6(u, v, w, x, y, z) SxApwPreprocessorPaste(SxApwPreprocessorPaste5(u, v, w, x, y), z)
|
|
|
|
#define SxApwPreprocessorPaste15(a1,a2,a3,a4,a5,a6,a7,a8,a9,a,b,c,d,e,f) \
|
|
SxApwPreprocessorPaste3 \
|
|
( \
|
|
SxApwPreprocessorPaste5(a1,a2,a3,a4,a5), \
|
|
SxApwPreprocessorPaste5(a6,a7,a8,a9,a), \
|
|
SxApwPreprocessorPaste5(b,c,d,e,f) \
|
|
)
|
|
|
|
#endif // }
|