Explorar el Código

settings: Use std::clamp where possible

Addresses PR review

Co-authored-by: PixelyIon <pixelyion@protonmail.com>
lat9nq hace 5 años
padre
commit
3862511a9a
Se han modificado 1 ficheros con 9 adiciones y 39 borrados
  1. 9 39
      src/common/settings.h

+ 9 - 39
src/common/settings.h

@@ -4,6 +4,7 @@
 
 
 #pragma once
 #pragma once
 
 
+#include <algorithm>
 #include <array>
 #include <array>
 #include <atomic>
 #include <atomic>
 #include <chrono>
 #include <chrono>
@@ -168,15 +169,7 @@ public:
      * @param value The desired value
      * @param value The desired value
      */
      */
     void SetValue(const Type& value) override {
     void SetValue(const Type& value) override {
-        Type temp;
-        if (value < minimum) {
-            temp = minimum;
-        } else if (value > maximum) {
-            temp = maximum;
-        } else {
-            temp = value;
-        }
-        std::swap(this->global, temp);
+        this->global = std::clamp(value, minimum, maximum);
     }
     }
 
 
     /**
     /**
@@ -186,15 +179,7 @@ public:
      * @returns A reference to the setting's value
      * @returns A reference to the setting's value
      */
      */
     const Type& operator=(const Type& value) override {
     const Type& operator=(const Type& value) override {
-        Type temp;
-        if (value < minimum) {
-            temp = minimum;
-        } else if (value > maximum) {
-            temp = maximum;
-        } else {
-            temp = value;
-        }
-        std::swap(this->global, temp);
+        this->global = std::clamp(value, minimum, maximum);
         return this->global;
         return this->global;
     }
     }
 
 
@@ -342,19 +327,11 @@ public:
      * @param value The desired value
      * @param value The desired value
      */
      */
     void SetValue(const Type& value) override {
     void SetValue(const Type& value) override {
-        Type temp;
-        if (value < this->minimum) {
-            temp = this->minimum;
-        } else if (value > this->maximum) {
-            temp = this->maximum;
-        } else {
-            temp = value;
-        }
+        const Type temp = std::clamp(value, this->minimum, this->maximum);
         if (this->use_global) {
         if (this->use_global) {
-            std::swap(this->global, temp);
-        } else {
-            std::swap(this->custom, temp);
+            this->global = temp;
         }
         }
+        this->custom = temp;
     }
     }
 
 
     /**
     /**
@@ -365,19 +342,12 @@ public:
      * @returns A reference to the setting's value
      * @returns A reference to the setting's value
      */
      */
     const Type& operator=(const Type& value) override {
     const Type& operator=(const Type& value) override {
-        Type temp;
-        if (value < this->minimum) {
-            temp = this->minimum;
-        } else if (value > this->maximum) {
-            temp = this->maximum;
-        } else {
-            temp = value;
-        }
+        const Type temp = std::clamp(value, this->minimum, this->maximum);
         if (this->use_global) {
         if (this->use_global) {
-            std::swap(this->global, temp);
+            this->global = temp;
             return this->global;
             return this->global;
         }
         }
-        std::swap(this->custom, temp);
+        this->custom = temp;
         return this->custom;
         return this->custom;
     }
     }
 };
 };