Cleaned up constructors and corrected missing defaults.
This commit is contained in:
@@ -20,6 +20,9 @@ struct RuleImpl {
|
|||||||
int new_id;
|
int new_id;
|
||||||
|
|
||||||
RuleImpl() : keep(true), new_id(-1) {}
|
RuleImpl() : keep(true), new_id(-1) {}
|
||||||
|
RuleImpl(int id) : keep(true), new_id(id) {}
|
||||||
|
RuleImpl(RuleFun fun) : rule(fun), keep(true), new_id(-1) {}
|
||||||
|
RuleImpl(RuleFun fun, bool keep_match) : rule(fun), keep(keep_match), new_id(-1) {}
|
||||||
|
|
||||||
std::pair<Token_Iterator, bool> operator()(Token_Iterator iter, Token_Iterator end, TokenPtr parent) {
|
std::pair<Token_Iterator, bool> operator()(Token_Iterator iter, Token_Iterator end, TokenPtr parent) {
|
||||||
return rule(iter, end, parent, keep, new_id);
|
return rule(iter, end, parent, keep, new_id);
|
||||||
@@ -54,9 +57,9 @@ struct Rule {
|
|||||||
RuleImplPtr impl;
|
RuleImplPtr impl;
|
||||||
|
|
||||||
Rule() : impl(new RuleImpl()) {}
|
Rule() : impl(new RuleImpl()) {}
|
||||||
Rule(int id) : impl(new RuleImpl()) { impl->new_id = id; }
|
Rule(int id) : impl(new RuleImpl(id)) {}
|
||||||
Rule(RuleFun fun) : impl(new RuleImpl()) { impl->rule = fun; }
|
Rule(RuleFun fun) : impl(new RuleImpl(fun)) {}
|
||||||
Rule(RuleFun fun, bool keep) : impl(new RuleImpl()) { impl->rule = fun; impl->keep = keep; }
|
Rule(RuleFun fun, bool keep) : impl(new RuleImpl(fun, keep)) {}
|
||||||
|
|
||||||
std::pair<Token_Iterator, bool> operator()(Token_Iterator iter, Token_Iterator end, TokenPtr parent) {
|
std::pair<Token_Iterator, bool> operator()(Token_Iterator iter, Token_Iterator end, TokenPtr parent) {
|
||||||
return (*impl)(iter, end, parent);
|
return (*impl)(iter, end, parent);
|
||||||
|
Reference in New Issue
Block a user