DynExp
Highly flexible laboratory automation for dynamically changing experiments.
stdafx.h
Go to the documentation of this file.
1 // This file is part of DynExp.
2 
8 // Std-lib
9 #include <algorithm>
10 #include <any>
11 #include <array>
12 #include <atomic>
13 #include <bitset>
14 #include <cassert>
15 #include <cctype>
16 #include <chrono>
17 #include <cmath>
18 #include <compare>
19 #include <complex>
20 #include <condition_variable>
21 #include <cstring>
22 #include <deque>
23 #include <exception>
24 #include <filesystem>
25 #include <format>
26 #include <fstream>
27 #include <functional>
28 #include <future>
29 #include <iomanip>
30 #include <iterator>
31 #include <latch>
32 #include <limits>
33 #include <list>
34 #include <locale>
35 #include <map>
36 #include <memory>
37 #include <mutex>
38 #include <numbers>
39 #include <numeric>
40 #include <queue>
41 #include <random>
42 #include <ranges>
43 #include <regex>
44 #include <source_location>
45 #include <stacktrace>
46 #include <string>
47 #include <string_view>
48 #include <sstream>
49 #include <stdexcept>
50 #include <thread>
51 #include <tuple>
52 #include <type_traits>
53 #include <unordered_map>
54 #include <utility>
55 #include <vector>
56 
57 // g++ compiler does not come with support for std::stacktrace by default.
58 // So, disable this feature if it is not available.
59 #if (defined(_GLIBCXX_HAVE_STACKTRACE) || !defined(__GNUC__))
60 #define DYNEXP_HAS_STACKTRACE
61 #endif
62 
63 // Qt
64 #include <Q3DSurface>
65 #include <QBarSeries>
66 #include <QBarSet>
67 #include <QByteArray>
68 #include <QChartView>
69 #include <QImage>
70 #include <QLineSeries>
71 #include <QLogValueAxis>
72 #include <QScatterSeries>
73 #include <QThread>
74 #include <QValueAxis>
75 #include <QtWidgets>
76 #include <QtXml>
77 #include <QXYSeries>
78 
79 // GNU Scientific Library (GSL)
80 #include <gsl/gsl_fft_complex.h>
81 #include <gsl/gsl_fit.h>
82 #include <gsl/gsl_multimin.h>
83 #include <gsl/gsl_rng.h>
84 #include <gsl/gsl_siman.h>
85 #include <gsl/gsl_version.h>
86 
87 // gRPC
88 #include <grpcpp/grpcpp.h>
89 
90 // pybind11
91 // Temporarily undef Qt's "slots" macro to avoid a name conflict with pybind11.
92 #pragma push_macro("slots")
93 #undef slots
94 #include <pybind11/embed.h>
95 #include <pybind11/chrono.h>
96 #include <pybind11/stl_bind.h>
97 #pragma pop_macro("slots")
98 
99 // DynExp
100 #include "DynExpDefinitions.h"
101 #include "Util.h"
102 #include "circularbuf.h"
103 #include "QtUtil.h"
104 #include "PyUtil.h"
Provides utilities related to pybind11 within DynExp's Util namespace.
Provides utilities related to Qt and Qt widgets within DynExp's Util namespace.
Provides general utilities within DynExp's Util namespace.
Implements a circular stream buffer derived from std::streambuf to be used with standard library stre...