Replace default_callback
function with nullptr
and check for null…
#72
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… callback function before calling it. This is cleaner and better performing.
This is in response to your question about performance and the temporary object for the callback. This does not eliminate the temporary object, but it replaces the default callback with a check for null on the callback member variable, which is faster and avoids the temp object in the default case. In the case where the caller has supplied a callback function, presumably the overhead of a temp object is negligible compared to the processing that will be performed in the callback.
If you would like to optimize the callback to avoid the temp object, the only solution I can think of at the moment is to change the
basic_json
reference parameter of the callback function to avoid *
and require the callback function to cast it to astring
pointer orbasic_json
pointer based on the event type. This solution sounds really ugly to me, so my vote is in favor of the temp object.