Replace all uses of boost::optional with our own Optional type. Luckily, there aren't so many.
After this:
boost::optionalis no longer used directly (only throughOptionalwhich is an alias for it)boost/optional.hppis only included in one place
Replace all uses of boost::optional with our own Optional type. Luckily, there aren't so many.
After this:
boost::optional is no longer used directly (only through Optional which is an alias for it)boost/optional.hpp is only included in one place
After this:
- `boost::optional` is no longer used directly (only through `Optional`
which is an alias for it)
- `boost/optional.hpp` is only included in one placeACK d314e8a818d4c162b1c7201533e6b600dcab2d91
boost/optional.hpp is only included in one place
Unfortunately in the header, so it is indirectly included everywhere. Though, I don't think there is a way to not put it in the header.
Unfortunately in the header, so it is indirectly included everywhere.
True. I meant directly. This similar as for the fs abstraction.
Though, I don't think there is a way to not put it in the header.
As this is essentially a header-only type, only implementing it ourselves would avoid that. But doing that would be dragging water to the sea with #16684 coming up.
ACK d314e8a818d4c162b1c7201533e6b600dcab2d91 -- diff looks correct + satisfying to see incremental progress towards the goal of a Boost free future :)
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--174a7506f384e20aa4161008e828411d-->
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
ACK d314e8a818d4c162b1c7201533e6b600dcab2d91 I didn't test, but this seems obviously correct.
ACK d314e8a818d4c162b1c7201533e6b600dcab2d91