Retrieving with optional of reference wrapper #79
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.
This PR merges the feature branch that was intended for the implementation of functions which would provide tools to deal with the different types of effects providers.
While implementing this I starting changing a lot of the content libraries' APIs.
Previously, one would first ask the library if something exists, and then get it, because
get()
would throw if the object wouldn't exist.With the new approach, using
std::optional
in combination withstd::reference_wrapper
, only one hash has to be evaluated and we still have the security of references.This approach still has few problems, but I am going to merge it for now and open an issue about addressing these issues.