Parcourir la source

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 il y a 8 ans
Parent
commit
a0ce6de913
1 fichiers modifiés avec 6 ajouts et 0 suppressions
  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();
 
     /**