From 9b68d5e07416882526b1d4d444a53f684274ca70 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 3 Dec 2014 19:48:34 -0500
Subject: [PATCH 1/2] kernel: Make some functions const

---
 src/core/hle/kernel/kernel.cpp | 4 ++--
 src/core/hle/kernel/kernel.h   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 018000abdd..2954f9913c 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -37,7 +37,7 @@ Handle ObjectPool::Create(Object* obj, int range_bottom, int range_top) {
     return 0;
 }
 
-bool ObjectPool::IsValid(Handle handle) {
+bool ObjectPool::IsValid(Handle handle) const {
     int index = handle - HANDLE_OFFSET;
     if (index < 0)
         return false;
@@ -75,7 +75,7 @@ void ObjectPool::List() {
     }
 }
 
-int ObjectPool::GetCount() {
+int ObjectPool::GetCount() const {
     int count = 0;
     for (int i = 0; i < MAX_COUNT; i++) {
         if (occupied[i])
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 8d3937ce8a..00a2228bfc 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -86,7 +86,7 @@ public:
         }
     }
 
-    bool IsValid(Handle handle);
+    bool IsValid(Handle handle) const;
 
     template <class T>
     T* Get(Handle handle) {
@@ -142,7 +142,7 @@ public:
     Object* &operator [](Handle handle);
     void List();
     void Clear();
-    int GetCount();
+    int GetCount() const;
 
 private:
 

From 208598dbe28a7b403660e97f8841d5f5f68c7dd2 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Wed, 3 Dec 2014 19:55:45 -0500
Subject: [PATCH 2/2] kernel: Shorten GetCount

---
 src/core/hle/kernel/kernel.cpp | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 2954f9913c..80a34c2d50 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -2,6 +2,8 @@
 // Licensed under GPLv2
 // Refer to the license.txt file included.
 
+#include <algorithm>
+
 #include "common/common.h"
 
 #include "core/core.h"
@@ -76,12 +78,7 @@ void ObjectPool::List() {
 }
 
 int ObjectPool::GetCount() const {
-    int count = 0;
-    for (int i = 0; i < MAX_COUNT; i++) {
-        if (occupied[i])
-            count++;
-    }
-    return count;
+    return std::count(occupied.begin(), occupied.end(), true);
 }
 
 Object* ObjectPool::CreateByIDType(int type) {