Path: blob/master/dep/rapidyaml/include/c4/windows_push.hpp
4261 views
#ifndef _C4_WINDOWS_PUSH_HPP_1#define _C4_WINDOWS_PUSH_HPP_23/** @file windows_push.hpp sets up macros to include windows header files4* without pulling in all of <windows.h>5*6* @see #include windows_pop.hpp to undefine these macros7*8* @see https://aras-p.info/blog/2018/01/12/Minimizing-windows.h/ */91011#if defined(_WIN64) || defined(_WIN32)1213#if defined(_M_AMD64)14# ifndef _AMD64_15# define _c4_AMD64_16# define _AMD64_17# endif18#elif defined(_M_IX86)19# ifndef _X86_20# define _c4_X86_21# define _X86_22# endif23#elif defined(_M_ARM64)24# ifndef _ARM64_25# define _c4_ARM64_26# define _ARM64_27# endif28#elif defined(_M_ARM)29# ifndef _ARM_30# define _c4_ARM_31# define _ARM_32# endif33#endif3435#ifndef NOMINMAX36# define _c4_NOMINMAX37# define NOMINMAX38#endif3940#ifndef NOGDI41# define _c4_NOGDI42# define NOGDI43#endif4445#ifndef VC_EXTRALEAN46# define _c4_VC_EXTRALEAN47# define VC_EXTRALEAN48#endif4950#ifndef WIN32_LEAN_AND_MEAN51# define _c4_WIN32_LEAN_AND_MEAN52# define WIN32_LEAN_AND_MEAN53#endif5455/* If defined, the following flags inhibit definition56* of the indicated items.57*58* NOGDICAPMASKS - CC_*, LC_*, PC_*, CP_*, TC_*, RC_59* NOVIRTUALKEYCODES - VK_*60* NOWINMESSAGES - WM_*, EM_*, LB_*, CB_*61* NOWINSTYLES - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_*62* NOSYSMETRICS - SM_*63* NOMENUS - MF_*64* NOICONS - IDI_*65* NOKEYSTATES - MK_*66* NOSYSCOMMANDS - SC_*67* NORASTEROPS - Binary and Tertiary raster ops68* NOSHOWWINDOW - SW_*69* OEMRESOURCE - OEM Resource values70* NOATOM - Atom Manager routines71* NOCLIPBOARD - Clipboard routines72* NOCOLOR - Screen colors73* NOCTLMGR - Control and Dialog routines74* NODRAWTEXT - DrawText() and DT_*75* NOGDI - All GDI defines and routines76* NOKERNEL - All KERNEL defines and routines77* NOUSER - All USER defines and routines78* NONLS - All NLS defines and routines79* NOMB - MB_* and MessageBox()80* NOMEMMGR - GMEM_*, LMEM_*, GHND, LHND, associated routines81* NOMETAFILE - typedef METAFILEPICT82* NOMINMAX - Macros min(a,b) and max(a,b)83* NOMSG - typedef MSG and associated routines84* NOOPENFILE - OpenFile(), OemToAnsi, AnsiToOem, and OF_*85* NOSCROLL - SB_* and scrolling routines86* NOSERVICE - All Service Controller routines, SERVICE_ equates, etc.87* NOSOUND - Sound driver routines88* NOTEXTMETRIC - typedef TEXTMETRIC and associated routines89* NOWH - SetWindowsHook and WH_*90* NOWINOFFSETS - GWL_*, GCL_*, associated routines91* NOCOMM - COMM driver routines92* NOKANJI - Kanji support stuff.93* NOHELP - Help engine interface.94* NOPROFILER - Profiler interface.95* NODEFERWINDOWPOS - DeferWindowPos routines96* NOMCX - Modem Configuration Extensions97*/9899#endif /* defined(_WIN64) || defined(_WIN32) */100101#endif /* _C4_WINDOWS_PUSH_HPP_ */102103104