aboutsummaryrefslogtreecommitdiffstats
path: root/src/resp.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2010-12-05 01:45:37 +0000
committerDavid Robillard <d@drobilla.net>2010-12-05 01:45:37 +0000
commit19ec222ce04979ccd4125ecb6c95a86302ba937c (patch)
treee89be99e27f774e405e8ed7dd1058b9a837cf53f /src/resp.hpp
parent931652d4f065c06d9061166c961ff9af6750267e (diff)
downloadresp-19ec222ce04979ccd4125ecb6c95a86302ba937c.tar.gz
resp-19ec222ce04979ccd4125ecb6c95a86302ba937c.tar.bz2
resp-19ec222ce04979ccd4125ecb6c95a86302ba937c.zip
Simplify parser.
git-svn-id: http://svn.drobilla.net/resp/resp@300 ad02d1e2-f140-0410-9f75-f8b11f17cedd
Diffstat (limited to 'src/resp.hpp')
-rw-r--r--src/resp.hpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/resp.hpp b/src/resp.hpp
index d524aae..899f4fb 100644
--- a/src/resp.hpp
+++ b/src/resp.hpp
@@ -573,13 +573,11 @@ struct PEnv : private map<const string, ASymbol*> {
PEnv() : symID(0) {}
typedef const AST* (*PF)(PEnv&, const AST*, void*); ///< Parse Function
struct Handler { Handler(PF f, void* a=0) : func(f), arg(a) {} PF func; void* arg; };
- map<const string, Handler> aHandlers; ///< Atom parse functions
- map<const string, Handler> lHandlers; ///< List parse functions
- void reg(bool list, const string& s, const Handler& h) {
- (list ? lHandlers : aHandlers).insert(make_pair(sym(s)->str(), h));
+ map<const string, Handler> handlers; ///< List parse functions
+ void reg(const string& s, const Handler& h) {
+ handlers.insert(make_pair(sym(s)->str(), h));
}
- const Handler* handler(bool list, const string& s) const {
- const map<const string, Handler>& handlers = list ? lHandlers : aHandlers;
+ const Handler* handler(const string& s) const {
map<string, Handler>::const_iterator i = handlers.find(s);
return (i != handlers.end()) ? &i->second : NULL;
}