Remove _FPOSOFF
and non-Standard std::fpos::seekpos()
#4606
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.
Boost stopped using
_FPOSOFF
when boostorg/iostreams@7c2592c was merged on 2016-09-16. I've verified that this shipped in Boost 1.63.0 on 2016-12-26.After noticing that
std::fpos::seekpos()
was non-Standard when MSVC-PR-115404 was merged on 2018-04-11, we unconditionally deprecated it with MSVC-PR-132953 merged on 2018-07-18. Boost stopped using it when boostorg/iostreams#57 was merged on 2018-04-20. I've verified that this shipped in Boost 1.69.0 on 2018-12-12.It's been over 5 years, so it's time to remove this machinery now.
Note that while the
std::fpos
type appears in the parameter types and return types of dllexported functions,std::fpos
is not dllexported itself, as indicated by the lack of explicit calling conventions in the source. Becausestd::fpos::seekpos()
isn't dllexported, we can freely remove it. (The only mentions ofseekpos
in the dllexport surface are for the differentstd::basic_streambuf::seekpos()
, which conveniently also demonstrates how it takes and returnsstd::fpos
.)