about summary refs log tree commit diff stats
path: root/cpp/054closure_name
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-04-24 17:09:17 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-04-24 17:09:17 -0700
commit2fb94e3c4c4ade042fc1944f1bfa64609bff40b4 (patch)
treea3b649a53a0b634d3110daf2f8357d372a560841 /cpp/054closure_name
parent544a1f1e17d909673f08a50b97fc9d00df431eb4 (diff)
downloadmu-2fb94e3c4c4ade042fc1944f1bfa64609bff40b4.tar.gz
1166
Why did I think STL's map wasn't efficient? It has logarithmic
complexity (maintains a tree internally) and is faster than hashing for
small containers. It's the more portable solution and should be what I
turn to by default.
Diffstat (limited to 'cpp/054closure_name')
-rw-r--r--cpp/054closure_name10
1 files changed, 3 insertions, 7 deletions
diff --git a/cpp/054closure_name b/cpp/054closure_name
index ea48694b..b6ba686a 100644
--- a/cpp/054closure_name
+++ b/cpp/054closure_name
@@ -35,7 +35,7 @@ recipe increment-counter [
 //: surrounding space of each recipe. This must happen before transform_names.
 
 :(before "End Globals")
-unordered_map<recipe_number, recipe_number> Surrounding_space;
+map<recipe_number, recipe_number> Surrounding_space;
 
 :(after "int main")
   Transform.push_back(collect_surrounding_spaces);
@@ -130,8 +130,8 @@ recipe_number lookup_surrounding_recipe(const recipe_number r, size_t n) {
 }
 
 //: weaken use-before-set warnings just a tad
-:(replace{} "bool already_transformed(const reagent& r, const unordered_map<string, int>& names)")
-bool already_transformed(const reagent& r, const unordered_map<string, int>& names) {
+:(replace{} "bool already_transformed(const reagent& r, const map<string, int>& names)")
+bool already_transformed(const reagent& r, const map<string, int>& names) {
   if (has_property(r, "space")) {
     vector<string> p = property(r, "space");
     assert(p.size() == 1);
@@ -139,7 +139,3 @@ bool already_transformed(const reagent& r, const unordered_map<string, int>& nam
   }
   return names.find(r.name) != names.end();
 }
-
-:(before "End Includes")
-#include<set>
-using std::set;