Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
belr
Commits
98e4cb9d
Commit
98e4cb9d
authored
Dec 03, 2015
by
Sylvain Berfini
🐮
Browse files
Fix heritage issue (mantis #2682)
parent
4fdd6335
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
4 deletions
+6
-4
include/belr/parser.hh
include/belr/parser.hh
+6
-4
No files found.
include/belr/parser.hh
View file @
98e4cb9d
...
...
@@ -82,16 +82,18 @@ public:
ParserHandler
(
const
Parser
<
_parserElementT
>
&
parser
,
const
string
&
rulename
,
const
function
<
_derivedParserElementT
(
const
string
&
,
const
string
&
)
>
&
create
)
:
ParserHandlerBase
<
_parserElementT
>
(
parser
,
rulename
),
mHandlerCreateDebugFunc
(
create
){
}
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementT
,
const
string
&
)
>
fn
){
template
<
typename
_derivedParserElementTChild
>
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementTChild
,
const
string
&
)
>
fn
){
this
->
installCollector
(
child_rule_name
,
make_shared
<
ParserCollector
<
_derivedParserElementT
,
_parserElementT
,
const
string
&>>
(
fn
));
return
static_pointer_cast
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
(
this
->
shared_from_this
());
}
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementT
,
int
)
>
fn
){
template
<
typename
_derivedParserElementTChild
>
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementTChild
,
int
)
>
fn
){
this
->
installCollector
(
child_rule_name
,
make_shared
<
ParserCollector
<
_derivedParserElementT
,
_parserElementT
,
int
>>
(
fn
));
return
static_pointer_cast
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
(
this
->
shared_from_this
());
}
template
<
typename
_valueT
>
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementT
,
_valueT
)
>
fn
){
template
<
typename
_derivedParserElementTChild
,
typename
_valueT
>
shared_ptr
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
setCollector
(
const
string
&
child_rule_name
,
function
<
void
(
_derivedParserElementT
Child
,
_valueT
)
>
fn
){
this
->
installCollector
(
child_rule_name
,
make_shared
<
ParserChildCollector
<
_derivedParserElementT
,
_parserElementT
,
_valueT
>>
(
fn
));
return
static_pointer_cast
<
ParserHandler
<
_derivedParserElementT
,
_parserElementT
>>
(
this
->
shared_from_this
());
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment