Explorar el Código

core: Delete System copy/move constructors and assignment operators

Prevents potentially making copies or doing silly things by accident
with the System instance, particularly given our current core is
designed (unfortunately) around one instantiable instance.

This will prevent the accidental case of:

auto instance = System::Instance();

being compiled without warning when it's supposed to be:

auto& instance = System::Instance();
Lioncash hace 8 años
padre
commit
a0ce6de913
Se han modificado 1 ficheros con 6 adiciones y 0 borrados
  1. 6 0
      src/core/core.h

+ 6 - 0
src/core/core.h

@@ -40,6 +40,12 @@ namespace Core {
 
 class System {
 public:
+    System(const System&) = delete;
+    System& operator=(const System&) = delete;
+
+    System(System&&) = delete;
+    System& operator=(System&&) = delete;
+
     ~System();
 
     /**