mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-01-02 02:35:35 +00:00
Keeps associated data together. It also eliminates the possibility of out
parameters not being initialized properly. For example, consider the
following example:
-- some FramebufferManager implementation --
void FBMgrImpl::GetTargetSize(u32* width, u32* height) override
{
// Do nothing
}
-- somewhere else where the function is used --
u32 width, height;
framebuffer_manager_instance->GetTargetSize(&width, &height);
if (texture_width != width) <-- Uninitialized variable usage
{
...
}
It makes it much more obvious to spot any initialization issues, because
it requires something to be returned, as opposed to allowing an
implementation to just not do anything.
|
||
|---|---|---|
| .. | ||
| BoundingBox.cpp | ||
| BoundingBox.h | ||
| CMakeLists.txt | ||
| FramebufferManager.cpp | ||
| FramebufferManager.h | ||
| main.cpp | ||
| NativeVertexFormat.cpp | ||
| OGL.vcxproj | ||
| OGL.vcxproj.filters | ||
| PerfQuery.cpp | ||
| PerfQuery.h | ||
| PostProcessing.cpp | ||
| PostProcessing.h | ||
| ProgramShaderCache.cpp | ||
| ProgramShaderCache.h | ||
| RasterFont.cpp | ||
| RasterFont.h | ||
| Render.cpp | ||
| Render.h | ||
| SamplerCache.cpp | ||
| SamplerCache.h | ||
| StreamBuffer.cpp | ||
| StreamBuffer.h | ||
| TextureCache.cpp | ||
| TextureCache.h | ||
| TextureConverter.cpp | ||
| TextureConverter.h | ||
| VertexManager.cpp | ||
| VertexManager.h | ||
| VideoBackend.h | ||