
Hi all! 1) I want to report that array::at throws range_error when it should throw out_of_range to comply to Sequence requirements. After I decided to report this issue I learned that Nicolai Josuttis maintains a parallel version boost/array.hpp on his website that corrects this and has a few other changes. Namely, an overload for 0-sized arrays was added and c_array has been renamed to data. I believe these changes were made after discussion for proposed inclusion in TR1. 2) Now I'm wondering if c_array should be renamed to data before the next release, to avoid having to change the interface later. 3) Could get<Index> functions be added to array, in order to mimick tuple? There are probably other things that can be done to make boost::array behave like a tuple. I think array could also be considered for inclusion in fusion. 4) On a side note, I wrote an initialized_array class that is very much like array but provides the constructors (and thus cannot provide aggregate initialization syntax): * default element construction * default array construction (boost::array provides this) * initialized_array<T, N>(T const & val) // elements initialized to val * initialized_array<T, N>(T const (&vals)[ N2 ]) // elements initialized with array. If N2 < N remaining elements are default constructed * initialized_array<T, N>(InputIterator start, InputIterator finish) // similar to previous but with iterators Exception behaviour is the same as for arrays (accomplished with a linear hierarchy of base classes) and each element is initialized exactly once (except with default array construction). Is there any interest in this class? br, João Abecasis