stdex
Additional custom or not Standard C++ covered algorithms
Loading...
Searching...
No Matches
sal.hpp
1/*
2 SPDX-License-Identifier: MIT
3 Copyright © 2022-2023 Amebis
4*/
5
6#pragma once
7
8#ifdef _WIN32
9#include <sal.h>
10#endif
11
12#ifndef _In_
13#define _In_
14#endif
15#ifndef _In_bytecount_
16#define _In_bytecount_(p)
17#endif
18#ifndef _In_count_
19#define _In_count_(p)
20#endif
21#ifndef _In_opt_
22#define _In_opt_
23#endif
24#ifndef _In_opt_count_
25#define _In_opt_count_(p)
26#endif
27#ifndef _In_opt_z_count_
28#define _In_opt_z_count_(p)
29#endif
30#ifndef _In_z_
31#define _In_z_
32#endif
33#ifndef _In_z_count_
34#define _In_z_count_(p)
35#endif
36#ifndef _In_reads_or_z_
37#define _In_reads_or_z_(p)
38#endif
39#ifndef _In_reads_or_z_opt_
40#define _In_reads_or_z_opt_(p)
41#endif
42#ifndef _Printf_format_string_params_
43#define _Printf_format_string_params_(n)
44#endif
45
46#ifndef _Inout_
47#define _Inout_
48#endif
49
50#ifndef _Use_decl_annotations_
51#define _Use_decl_annotations_
52#endif
53
54#ifndef _Out_
55#define _Out_
56#endif
57#ifndef _Out_opt_
58#define _Out_opt_
59#endif
60#ifndef _Out_writes_z_
61#define _Out_writes_z_(p)
62#endif
63
64#ifndef _Success_
65#define _Success_(p)
66#endif
67#ifndef _Ret_notnull_
68#define _Ret_notnull_
69#endif
70#ifndef _Must_inspect_result_
71#define _Must_inspect_result_
72#endif
73
74#ifndef _Likely_
75#if _HAS_CXX20
76#define _Likely_ [[likely]]
77#else
78#define _Likely_
79#endif
80#endif
81
82#ifndef _Unlikely_
83#if _HAS_CXX20
84#define _Unlikely_ [[unlikely]]
85#else
86#define _Unlikely_
87#endif
88#endif