+++ Updated for UE 5.1 (see bottom)
For autocompletion there are two options:
{ | |
"FileVersion": 3, | |
"EngineAssociation": "5.2", | |
"Description": "Minimum viable plugin dependencies for a usable Unreal Engine project", | |
"DisableEnginePluginsByDefault": true, | |
"Plugins": [ | |
{ | |
"Name": "PluginBrowser", | |
"Enabled": true | |
}, |
Please stop using this extension and Microsoft's C++ extension for Unreal code completion.
The VSCode extension clangd
has blazing fast code completion in comparison. I've made a VSCode extension for it:
https://github.com/boocs/unreal-clangd
You will use clangd for code completion(Intellisense) and use Microsoft's C++ extension for Building/Debugging
Hence, if you are interested in existing applications to "just work" without the need for adjustments, then you may be better off avoiding Wayland.
Wayland solves no issues I have but breaks almost everything I need. Even the most basic, most simple things (like xkill
) - in this case with no obvious replacement. And usually it stays broken, because the Wayland folks mostly seem to care about Automotive, Gnome, maybe KDE - and alienating everyone else (e.g., people using just an X11 window manager or something like GNUstep) in the process.
As 2024 is winding down:
/* | |
* This is free and unencumbered software released into the public domain. | |
* | |
* For more information, please refer to <https://unlicense.org> | |
*/ | |
//Regular text | |
#define BLK "\e[0;30m" | |
#define RED "\e[0;31m" | |
#define GRN "\e[0;32m" |
What is strict aliasing? First we will describe what is aliasing and then we can learn what being strict about it means.
In C and C++ aliasing has to do with what expression types we are allowed to access stored values through. In both C and C++ the standard specifies which expression types are allowed to alias which types. The compiler and optimizer are allowed to assume we follow the aliasing rules strictly, hence the term strict aliasing rule. If we attempt to access a value using a type not allowed it is classified as undefined behavior(UB). Once we have undefined behavior all bets are off, the results of our program are no longer reliable.
Unfortunately with strict aliasing violations, we will often obtain the results we expect, leaving the possibility the a future version of a compiler with a new optimization will break code we th
print "Hello, switch" | |
-- If the default case does not have to be handled, we can use the following auxiliary function: | |
local function switch(value) | |
-- Handing `cases` to the returned function allows the `switch()` function to be used with a syntax closer to c code (see the example below). | |
-- This is because lua allows the parentheses around a table type argument to be omitted if it is the only argument. | |
return function(cases) | |
-- The default case is achieved through the metatable mechanism of lua tables (the `__index` operation). | |
setmetatable(cases, cases) |