-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathstdafx.h
122 lines (108 loc) · 2.85 KB
/
stdafx.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#pragma once
#pragma warning(push, 1)
#pragma warning(disable : 4068)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Weverything"
#include <array>
#include <atomic>
#include <condition_variable>
#include <deque>
#include <future>
#include <iomanip>
#include <iterator>
#include <limits>
#include <map>
#include <memory>
#include <mutex>
#include <shared_mutex>
#include <sstream>
#include <thread>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <valarray>
using std::make_shared; // NOLINT
using std::make_unique; // NOLINT
using std::shared_ptr; // NOLINT
using std::unique_ptr; // NOLINT
#include <gsl/gsl>
#ifdef _DEBUG
#define BOOST_MULTI_INDEX_ENABLE_SAFE_MODE
#endif
#define BOOST_DETAIL_NO_CONTAINER_FWD
#include <boost/multi_index/composite_key.hpp>
#include <boost/multi_index/hashed_index.hpp>
#include <boost/multi_index/identity.hpp>
#include <boost/multi_index/member.hpp>
#include <boost/multi_index/ordered_index.hpp>
#include <boost/multi_index/ranked_index.hpp>
#include <boost/multi_index/sequenced_index.hpp>
#include <boost/multi_index_container.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/range/adaptor/reversed.hpp>
#include <boost/range/combine.hpp>
#include <boost/range/sub_range.hpp>
// Require windows vista
#define _WIN32_WINNT 0x600
#define WIN32_LEAN_AND_MEAN
#define NOSERVICE
#define NOSOUND
#define NOKANJI
#define NOKERNEL
#define NOGDICAPMASKS
#define NOSYSMETRICS
#define NORASTEROPS
#define OEMRESOURCE
#define NOATOM
#define NOCLIPBOARD
#define NOMEMMGR
#define NOOPENFILE
#define NOSCROLL
//#define NOTEXTMETRIC
#define NOWH
#define NOCOMM
#define NOHELP
#define NOPROFILER
#define NODEFERWINDOWPOS
#define NOMCX
#include <windows.h>
#include <ActivScp.h>
#include <Shlwapi.h>
#include <commdlg.h>
#include <d2d1.h>
#include <dwrite.h>
#include <gdiplus.h>
#include <mmsystem.h>
#include <process.h>
#include <shellapi.h>
#include <wincodec.h>
#undef min
#undef max
#include <wil/com.h>
#include <wil/resource.h>
#include <wil/win32_helpers.h>
#include "lib/glad.h"
#define GLFW_INCLUDE_GLU
#include <GLFW/glfw3.h>
#define GLFW_EXPOSE_NATIVE_WIN32
#include <GLFW/glfw3native.h>
#define APIENTRY WINAPI
#include "../foobar2000/SDK/foobar2000.h"
#include "../foobar2000/helpers/win32_misc.h"
#include "../pfc/range_based_for.h"
// clang doesn't support stdcall lambdas
// since we only use it for linting, we just hide those lambdas from it
#ifdef __clang__
#define WINLAMBDA(X) nullptr
#else
#define WINLAMBDA(X) X
#endif
#pragma clang diagnostic pop
#pragma clang diagnostic ignored "-Wmicrosoft-enum-forward-reference"
#pragma clang diagnostic ignored "-Wwritable-strings"
#pragma warning(pop)
// 4100: Unused function argument
// 4201: nonstandard extension used : nameless struct/union
// 4458: Declaration hides class member
#pragma warning(disable : 4100 4201 4458)