Hi Steve, On Sunday, 2. September 2012 22:43:13 steve@parisgroup.net wrote:
Greetings,
As a veteran C++ programmer, I've been an admirer of the Boost library for many years. I've used it at a number of companies I've worked for, especially the SmartPtr library.
Well, working without SmartPtr is a no-go.
Right now I'm working for a company that worries a lot about negative exposure to Open Source software issues such as questions that might arise about authorship, copyright or even patent issues. The company does allow the use of Open Source software, but it requires that each piece of code that is brought in first be justified and vetted. Unfortunately, I'm finding this to be a nearly impossible task when I look at the amount of code that must be compiled to use the Boost modules I'm interested in.
Company policies, sigh.
I've done a study and written some tools, to determine just how many Boost header files must be included to use some of the Boost modules.
Please provide more detail on exactly how you measured this lines. Example programs might be best.
The numbers are staggering:
Any: 79
FileSystem: 276
Smart Ptr: 382
String Algo: 180
Well, nearly everything depends on Boost.Config. Config and especially SmartPtr contain lots of conditionally compiled platform dependent code.
I went on and did a tally of which modules these header files came from. Here are the counts for how many other Boost modules each of these modules depends upon: Any: 8
FileSystem: 13
SmartPtr: 8
String Algo: 15
These numbers seem too high. A bit more detail is needed to further comment on this.
Given these numbers, I think I have to abandon any thoughts of using Boost within my current company. There's no way I'm going to get approval to bring so much code into our work just to get a SmartPtr or FIleSystem library. This is unfortunate, because due to Boost's existence there doesn't seem to be much work going on out there to offer lighter weight alternatives.
Well, SmartPtr is in c++11. But this is out of reach for most people, I guess.
I'm writing this request in the hopes that there's something I'm missing here, and that someone can point out my folly. Is there a way to utilize any of these Boost modules in such a way that they do not require the inclusion of so much code?
If you simpley grep for "include" you get lots and lots of files, especially for low level things like Config or SmartPtr with lots of code for lots of platforms ;-) Did you take a look at the "bcp" tools and tried to extract some modules? This should get you more insight.
If not, does anyone have any suggestions as to how to make this fly with my boss? Has this issue come up before and been considered by the Boost designers? I find the issue baffling.
No ideas there, I got Boost in 10 years ago without anyone noticing. Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany