aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-09-19 16:56:13 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-09-19 16:56:13 +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 3ac40ed34..dcd6209e3 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_]; }