Commit graph

26 commits

Author SHA1 Message Date
lainon
6e1566386e project: Apply more C++ paradigms to the code
- Use auto in places where code clarity is improved or identical.
- Replace trivial constructors and destructors with default.
- Use true random for random generation.
- Use std::string_view where it is valid to do so.
- Apply const where it is valid to do so.
- Use references where it is valid to do so.
- Manually optimize memory usage with std::move and std::copy.
- Opt for memory efficient containers where the size is known ahead of time.

Signed-off-by: lainon <GermanAizek@yandex.ru>
2023-04-05 18:58:32 +02:00
Michael Fabian 'Xaymar' Dirks
2ccbd76c02 util/library: Don't mix incompatible parameters 2023-04-05 18:51:37 +02:00
Michael Fabian 'Xaymar' Dirks
25dc14f805 util/library: Load wstring instead of string 2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks
97318eacac util/threadpool: Allow waiting for task completion 2023-04-05 18:51:33 +02:00
Michael Fabian 'Xaymar' Dirks
a56f3816a1 util/library: Force specific search directories 2023-04-05 18:51:31 +02:00
William Pettersson
3eacc47085 util/logging: Don't reuse vargs (#632)
As vargs may be modified by some functions, we should not reuse it and instead create a copy of it. This fixes a segfault on logging calls happening with GCC, and potentially may fix other compilers and platforms as well.
2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
380d75f770 project: Unify logging structure 2023-04-05 18:51:14 +02:00
Michael Fabian 'Xaymar' Dirks
6fc18faab0 util/profiler: Adjust to match coding guidelines 2023-04-05 18:51:08 +02:00
Michael Fabian 'Xaymar' Dirks
61c143a0c8 util: Add is_close function 2023-04-05 18:51:07 +02:00
Michael Fabian 'Xaymar' Dirks
b4c7d5f91c util/library: Convert paths to native format 2023-04-05 18:51:06 +02:00
Michael Fabian 'Xaymar' Dirks
57f15b64f7 util/platform: Add Path and String conversion utility functions 2023-04-05 18:51:06 +02:00
Michael Fabian 'Xaymar' Dirks
8a10ca93e5 util: Add Pascal Triangle and integer power 2023-04-05 18:51:01 +02:00
Michael Fabian 'Xaymar' Dirks
eb61112d76 util: Remove unused legacy function 2023-04-05 18:50:58 +02:00
Michael Fabian 'Xaymar' Dirks
d62da72ce5 util: Apply coding guidelines 2023-04-05 18:50:57 +02:00
Michael Fabian 'Xaymar' Dirks
1d183ae680 uitl/bitmask: Add 'has' function 2023-04-05 18:50:53 +02:00
Michael Fabian 'Xaymar' Dirks
b4a229e26f util/logging: Add logging utility
Also contains the function signature and name macros.
2023-04-05 18:50:49 +02:00
Michael Fabian 'Xaymar' Dirks
0a71af9d6a util/library: Fix unicode support
Related: #359
2023-03-28 13:11:04 +02:00
Michael Fabian 'Xaymar' Dirks
f796c85527 util/bitmask: Move bitmask functionality its own file 2023-03-28 13:11:03 +02:00
Michael Fabian 'Xaymar' Dirks
7e7ed80a9a util/library: Use string_view instead of string
Slightly improves performance and reduces memory impact, as string data is not duplicated.
2023-03-28 13:11:03 +02:00
Michael Fabian 'Xaymar' Dirks
d36e735bb1 util/curl: Add missing include for vector 2023-03-28 13:11:02 +02:00
Michael Fabian 'Xaymar' Dirks
f907fc80b0 updater: Add functionality to check for updates
Implements a manual and automatic update checker with support for both release and testing update channels, allowing users to stay as up to date as possible. It is fully compliant with privacy regulations around the world, as it stays completely silent and inactive until the user gives the Ok to connect to GitHub for the latest releases.
2023-03-28 12:52:27 +02:00
Michael Fabian 'Xaymar' Dirks
1107c1e390 util/curl: Add C++ wrapper for CURL 2023-03-28 12:52:27 +02:00
Michael Fabian 'Xaymar' Dirks
36976cb550 util/threadpool: Don't hold work endlessly after processing it 2023-03-28 12:52:27 +02:00
Michael Fabian 'Xaymar' Dirks
a39fd89ba7 util/library: Cross-platform handler for library loading
Adds a utility class and functions to load libraries and symbols from libraries somewhat safely. Libraries are immediately unloaded when the last reference to them is lost, so the shared_ptr should be stored if the library is actually needed.
2023-03-28 12:52:23 +02:00
Michael Fabian 'Xaymar' Dirks
63a5873413 project: Remove non-standard std:: prefix from types 2023-03-28 12:52:22 +02:00
Michael Fabian 'Xaymar' Dirks
dbb71cf801 project: Code cleanup and reapply formatting
Changes applied:

* Moved utility files to /util/.
* Removed unused #includes.
* Removed unused ::ffmpeg::tools function.
* Removed unused variables.
* Fixed missing parentheses in the version macro.
* Fixed missing override on virtual function overrides and removed unnecessary virtual keyword from them.
* Disabled additional warning for ATL headers on MSVC only.
* Replaced direct printf parameters with their macro equivalent.
* Replaced C-style casts with C++-style casts.
* Applied clang-format again after an earlier change to the CMake file broke the integration for it.
2023-03-28 12:52:20 +02:00