Boost logo

Boost :

Subject: [boost] [containers] review
From: Gordon Woodhull (gordon_at_[hidden])
Date: 2011-08-07 03:16:20


Hi Ion, John, all,

I apologize that I don't have time for a full review, as I'm going offline hiking for the rest of the review period.

Obviously the library should be accepted. Move emulation, stateful allocators, emplace, recursive containers, ... so many excellent features. And this code has been tested as part of Interprocess for years.

However, I do find the documentation lacking. While the Doxygen reference looks very complete, I want to see the overview documentation expanded, including covering the following topics:

Stateful allocators seem to be unmentioned. Do they affect performance or behavior? I know this might be a big topic; links are okay. My understanding is that these are fully supported but other allocator improvements are not yet present? Out of curiosity I'd like to see a bit of text about the future directions, mentioning N1953 & N2045.

Could the contents of Joachin's blog post
http://bannalia.blogspot.com/2008/08/stable-vectors.html
go into an overview section for stable_vector?

Recursive container is not defined, also maybe link to
http://en.wikipedia.org/wiki/Recursive_data_type
What is it used for: directed graph.

Some guideline about when it's better to use flat_*. I figure you would use such a structure when you're not doing a lot of inserts or when there are few elements. The advice can be somewhat handwavy and instruct the user to do measurements, but it should be there.

Silly question, but I'm not clear how to use this ordered_unique_range_t that's in the Doxygen - is there a constant or do you default construct it or what?

As earlier pointed out, a lot of the Doxygen parameters and descriptions have gotten out of sync k/x first/i etc.

Well, I've run out of time. Hope this helps a little.

Cheers,
Gordon


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk