/*----------------------------------------------------------------------------- Microsoft Fusion Microsoft Confidential Copyright (c) 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 // }