about summary refs log tree commit diff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-09-19T14·56+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-09-19T14·56+0200
commit93e4f01ee3ea33f47ade8530e5fa78346008ea6e (patch)
treee28e5972063b8e2ce05bd28234bd222ac723ab02 /src/libexpr/eval.hh
parent5b58991a71d15123c010bbbd7f08530dbc31173f (diff)
Inline Bindings::find()
Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 3ac40ed34e..dcd6209e30 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -57,7 +57,14 @@ public:
         attrs[size_++] = attr;
     }
 
-    iterator find(const Symbol & name);
+    iterator find(const Symbol & name)
+    {
+        Attr key(name, 0);
+        iterator i = std::lower_bound(begin(), end(), key);
+        if (i != end() && i->name == name) return i;
+        return end();
+    }
+
     iterator begin() { return &attrs[0]; }
     iterator end() { return &attrs[size_]; }