windows-nt/Source/XPSP1/NT/base/win32/fusion/inc/fusionpreprocessorcharize.h
2020-09-26 16:20:57 +08:00

34 lines
1.2 KiB
C

/*-----------------------------------------------------------------------------
Microsoft Fusion
Microsoft Confidential
Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
@doc external
@module fusionpreprocessorcharize.h
@owner JayKrell
-----------------------------------------------------------------------------*/
#if !defined(VS_COMMON_INC_FUSION_PREPROCESSORCHARIZE_H_INCLUDED_) // {
#define VS_COMMON_INC_FUSION_PREPROCESSORCHARIZE_H_INCLUDED_
/*#pragma once ends up in .rgi, which is bad, so do not do it*/
#include "fusionpreprocessorpaste.h"
#define FusionpPrivatePreprocessorCharize(x) #@ x
/*-----------------------------------------------------------------------------
Name: SxApwPreprocessorCharize, SxApwPreprocessorCharizeW
@macro
These macros simply charize their parameter, after evaluating it;
it is evaluated so that
define A B
SxApwPreprocessorCharize(A) -> 'B' instead of 'A'
SxApwPreprocessorCharizeW(A) -> 'B' instead of L'A'
@owner JayKrell
-----------------------------------------------------------------------------*/
#define FusionpPreprocessorCharize(x) FusionpPrivatePreprocessorCharize(x)
#define FusionpPreprocessorCharizeW(x) FusionpPreprocessorPaste(L, FusionpPrivatePreprocessorCharize(x))
#endif // }