
I believe that eventually we will want have feel the need to address some issues in directory structure, namespaces etc. However, I'm thinking that it's premature to do anything but set a few policies for new libraries and submissions. The only specific one that comes to mind is: a) libraries should not place any header files directly in the boost directory or in the boost namespace. The only exception would be a "convience header" in the boost directory which would include the headers in the library directory. b) The library name should be the same as the namespace name and the same as the subdirectory name in the boost directory. .... Robert Ramey

On 31 January 2011 17:28, Robert Ramey <ramey@rrsd.com> wrote:
a) libraries should not place any header files directly in the boost directory or in the boost namespace. The only exception would be a "convience header" in the boost directory which would include the headers in the library directory.
I'd suggest that headers in the boost directory should only include a single header of the same name (or maybe 'all.hpp') from the library directory. This would ensure that they never change so they're never an issue for version control. For an example, see boost/bind.hpp. The only downside that I can see is that this might be a bit awkward for doxygen documentation. Daniel

At Mon, 31 Jan 2011 18:18:44 +0000, Daniel James wrote:
On 31 January 2011 17:28, Robert Ramey <ramey@rrsd.com> wrote:
a) libraries should not place any header files directly in the boost directory or in the boost namespace. The only exception would be a "convience header" in the boost directory which would include the headers in the library directory.
I'd suggest that headers in the boost directory should only include a single header of the same name (or maybe 'all.hpp') from the library directory. This would ensure that they never change so they're never an issue for version control.
I think I would (mildly) prefer boost/libname.hpp => boost/libname/libname.hpp => whatever just so I don't end up with 40 files named all.hpp in my editor, which is a bit harder to manage. -- Dave Abrahams BoostPro Computing http://www.boostpro.com

On Mon, Jan 31, 2011 at 1:49 PM, Dave Abrahams <dave@boostpro.com> wrote:
At Mon, 31 Jan 2011 18:18:44 +0000, Daniel James wrote:
On 31 January 2011 17:28, Robert Ramey <ramey@rrsd.com> wrote:
a) libraries should not place any header files directly in the boost directory or in the boost namespace. The only exception would be a "convience header" in the boost directory which would include the headers in the library directory.
I'd suggest that headers in the boost directory should only include a single header of the same name (or maybe 'all.hpp') from the library directory. This would ensure that they never change so they're never an issue for version control.
I think I would (mildly) prefer
boost/libname.hpp => boost/libname/libname.hpp => whatever
just so I don't end up with 40 files named all.hpp in my editor, which is a bit harder to manage.
+1 --Beman

"Robert Ramey" <ramey@rrsd.com> writes:
However, I'm thinking that it's premature to do anything [about modularization / namespaces] but set a few policies for new libraries and submissions.
Would modularization of mostly-stable libraries be a place where experienced boost contributors could work with / mentor newbies? This would help bring new contributors up to speed, and (hopefully) reduce the actual work required of the original/current owner of a piece of code. To be clear, I would expect the modularization mechanism and design to be executed by the experienced contributors; once an outline of direction is made, the "newbie" could work towards building a coherent submission that would create a sane stand-alone repo of the modular component, and hopefully also a patch to the core that would switch that module from being "in-core" to being "imported". (Apologies in advance for all the scare quotes.) Best regards, Tony

31.01.2011 21:28, Robert Ramey пишет:
a) libraries should not place any header files directly in the boost directory or in the boost namespace. +1. The only exception would be a "convience header" in the boost directory which would include the headers in the library directory.
Hm... Why? I can write: #include <boost/library/library.hpp> instead #include <boost/library.hpp>
b) The library name should be the same as the namespace name and the same as the subdirectory name in the boost directory.
+1. But for same libraries it may be... little awkward... - Denis
participants (6)
-
Anthony Foiani
-
Beman Dawes
-
Daniel James
-
Dave Abrahams
-
Denis Shevchenko
-
Robert Ramey