summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/genie/src/base/iter.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/genie/src/base/iter.lua')
-rw-r--r--3rdparty/genie/src/base/iter.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/3rdparty/genie/src/base/iter.lua b/3rdparty/genie/src/base/iter.lua
new file mode 100644
index 00000000000..0693ca73fbc
--- /dev/null
+++ b/3rdparty/genie/src/base/iter.lua
@@ -0,0 +1,16 @@
+iter = {}
+
+-- sortByKeys iterates over the table where the keys are in sort order
+
+ function iter.sortByKeys(arr, f)
+ local a = table.keys(arr)
+ table.sort(a, f)
+
+ local i = 0
+ return function()
+ i = i + 1
+ if a[i] ~= nil then
+ return a[i], arr[a[i]]
+ end
+ end
+ end