Fixed all remaining static analysis issues from SonarCloud, only a few are left to fix later
Properly implemented or enabled default generation of assignment operators, copy and move constructors for all applicable types
Used MagicEnum library extensively to remove enum code bloat and improve type safety with enum class types:
Uses enum class types for bit-masks instead of raw enum types to improve type safety.
Generating string names of enum values with a single line of code
Iterating over enum values and getting values count
Graphics libraries
Graphics Core changes:
Changed ResourceBase derived classes hierarchy based on template implementation of Resource[DX|MT|VK]<ResourceBaseType> which is replacing ResourceNT alias class
Removed almost all Native platform alias headers
Fixed some memory leaks in Metal implementation on MacOS
Graphics::App template class implementation was split to Graphics::AppBase to reduce abount of template code and speedup compilation
User Interface libraries
Unified UnitType derived classes implementation within one template class
Fixed bug in Text mesh generation with multiple zero characters at the end of the string
Methane Kit v0.5 Pre-Release Update 3
enum
code bloat and improve type safety withenum class
types:enum class
types for bit-masks instead of rawenum
types to improve type safety.ResourceBase
derived classes hierarchy based on template implementation ofResource[DX|MT|VK]<ResourceBaseType>
which is replacingResourceNT
alias classNative
platform alias headersGraphics::App
template class implementation was split toGraphics::AppBase
to reduce abount of template code and speedup compilationUnitType
derived classes implementation within one template classMagicEnum
library