Discussion:
[boost] Fw: [stacktrace] [winapi] header out of place
Peter Dimov via Boost
2017-06-22 19:12:16 UTC
Permalink
The header

stacktrace:
boost/detail/winapi/capture_stack.hpp

should probably either be moved to Winapi, as the name suggests, or renamed
to reside in boost/stacktrace/detail.

And, as a general rule, libraries should strive to keep their headers under
boost/<libname>, with the only exception being boost/<libname>.hpp. We have
many legacy libraries not following this requirement, but any new ones and
any new headers added to existing ones should.

The reason for this requirement is that otherwise it's impossible to perform
dependency analysis unless all of Boost is checked out so that the tool can
tell in what module boost/random-header-name.hpp resides.


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Andrey Semashev via Boost
2017-06-22 21:30:19 UTC
Permalink
Post by Peter Dimov via Boost
The header
boost/detail/winapi/capture_stack.hpp
should probably either be moved to Winapi, as the name suggests, or renamed
to reside in boost/stacktrace/detail.
By the looks of it, it's something rather specific to Boost.Stacktrace,
so it should probably be moved inside boost/stacktrace. While doing so,
the file contents should also be updated to avoid using Boost.WinAPI
namespace and macro prefixes. The include guard should be fixed as well.
Post by Peter Dimov via Boost
And, as a general rule, libraries should strive to keep their headers under
boost/<libname>, with the only exception being boost/<libname>.hpp. We have
many legacy libraries not following this requirement, but any new ones and
any new headers added to existing ones should.
The reason for this requirement is that otherwise it's impossible to perform
dependency analysis unless all of Boost is checked out so that the tool can
tell in what module boost/random-header-name.hpp resides.
More importantly, putting files in other libraries' directories is
asking for conflicts.

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Antony Polukhin via Boost
2017-06-24 10:47:25 UTC
Permalink
Post by Peter Dimov via Boost
The header
boost/detail/winapi/capture_stack.hpp
should probably either be moved to Winapi, as the name suggests, or renamed
to reside in boost/stacktrace/detail.
By the looks of it, it's something rather specific to Boost.Stacktrace, so
it should probably be moved inside boost/stacktrace. While doing so, the
file contents should also be updated to avoid using Boost.WinAPI namespace
and macro prefixes. The include guard should be fixed as well.
It's part of the Windows API, it's not stacktrace specific. All the
really specific stuff is located in
https://github.com/boostorg/stacktrace/blob/master/include/boost/stacktrace/detail/frame_msvc.ipp

I'd really love to move that file to Boost.WinAPI as the initial
intent was to do so.
Post by Peter Dimov via Boost
And, as a general rule, libraries should strive to keep their headers under
boost/<libname>, with the only exception being boost/<libname>.hpp. We have
many legacy libraries not following this requirement, but any new ones and
any new headers added to existing ones should.
The reason for this requirement is that otherwise it's impossible to perform
dependency analysis unless all of Boost is checked out so that the tool can
tell in what module boost/random-header-name.hpp resides.
More importantly, putting files in other libraries' directories is asking
for conflicts.
Yes, sorry for that. I had to deal with that issue earlier.
--
Best regards,
Antony Polukhin

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Loading...