[Review Request] array

Hi All, Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review. The requisite files are hosted at, https://github.com/BrianJSmith/Array Comment: The array class is a C++11 compatible implementation of static multidimensional arrays. Kind Regards Brian

Hello, Le 15/07/2012 20:04, Brian Smith a écrit :
Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review. The requisite files are hosted at,
And compared to the existing Boost.Array ?...

On 7/15/12, Oodini <svdbg@free.fr> wrote:
Hello,
Le 15/07/2012 20:04, Brian Smith a écrit :
Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review. The requisite files are hosted at,
And compared to the existing Boost.Array ?...
The existing Boost.Array is one dimensional.

On 07/15/12 13:49, Brian Smith wrote:
On 7/15/12, Oodini <svdbg@free.fr> wrote:
Hello,
Le 15/07/2012 20:04, Brian Smith a écrit :
Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review. The requisite files are hosted at,
And compared to the existing Boost.Array ?...
The existing Boost.Array is one dimensional.
But if the template arg to Boost.Array, is another Boost.Array, then you can have any dimension, as shown in the attached. (The trace_scope.hpp (which defines indent_scoped_ostreambuf), is on my local disk. I can put it in sandbox if you're interested in using it). HTH. -regards, Larry

On 7/15/12, Larry Evans <cppljevans@suddenlink.net> wrote:
On 07/15/12 13:49, Brian Smith wrote:
The existing Boost.Array is one dimensional.
But if the template arg to Boost.Array, is another Boost.Array, then you can have any dimension, as shown in the attached.
The problem with using Boost.Array to define arbitrary dimension arrays is the notation. The attachment looks like a hybrid version of the files I previously put into the maps folder in the sandbox with your old version of array_recur, where that version did use Boost.Array IIRC.
(The trace_scope.hpp (which defines indent_scoped_ostreambuf), is on my local disk. I can put it in sandbox if you're interested in using it).
Go ahead and I'll have a look.

On 07/15/12 17:41, Brian Smith wrote:
On 7/15/12, Larry Evans <cppljevans@suddenlink.net> wrote:
On 07/15/12 13:49, Brian Smith wrote:
The existing Boost.Array is one dimensional.
But if the template arg to Boost.Array, is another Boost.Array, then you can have any dimension, as shown in the attached.
The problem with using Boost.Array to define arbitrary dimension arrays is the notation. The attachment looks like a hybrid version of the files I previously put into the maps folder in the sandbox with your old version of array_recur, where that version did use Boost.Array IIRC. Yep. The following reply:
http://article.gmane.org/gmane.comp.lib.boost.devel/220831 to another post of yours on the subject contained an earlier version of array_recur.cpp.
(The trace_scope.hpp (which defines indent_scoped_ostreambuf), is on my local disk. I can put it in sandbox if you're interested in using it).
Go ahead and I'll have a look.
It just so happens that it's already in sandbox: http://svn.boost.org/svn/boost/sandbox/variadic_templates/boost/utility/trac... AFAICT, all the other needed files are in the variadic_templates directory also. However, I wouldn't download all the variadic_templates because it contains a variadic version of mpl, which might not work with what you've got. HTH. -regards, Larry

On 07/15/12 17:41, Brian Smith wrote:
On 7/15/12, Larry Evans <cppljevans@suddenlink.net> wrote:
On 07/15/12 13:49, Brian Smith wrote:
The existing Boost.Array is one dimensional.
But if the template arg to Boost.Array, is another Boost.Array, then you can have any dimension, as shown in the attached.
The problem with using Boost.Array to define arbitrary dimension arrays is the notation. The attachment looks like a hybrid version of the files I previously put into the maps folder in the sandbox with your old version of array_recur, where that version did use Boost.Array IIRC. Yep. The following reply:
http://article.gmane.org/gmane.comp.lib.boost.devel/220831
to another post of yours on the subject contained an earlier version of array_recur.cpp. [snip] OOPS. I just did a compare of that "earlier" version it it looks
On 07/15/12 18:32, Larry Evans wrote: the same as the more recent one I attached, and that one doesn't even use the Boost.Array. Looking back at the revision history of the array_recur.cpp on my disk indicates I had to use the variadic_templates vector_c: http://svn.boost.org/svn/boost/sandbox/variadic_templates/boost/mpl/vector_c... because of compile errors, and I think I had to abandon boost::array (substituted the new array_base) because boost::array did not have a CTOR taking an std::initializer_list, which is something I wanted. Sorry for noise. -regards, Larry

Hello Brian, I received your request, and I have added your library to the review schedule. Best, Ron On Jul 15, 2012, at 11:04 AM, Brian Smith wrote:
Hi All,
Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review. The requisite files are hosted at,
https://github.com/BrianJSmith/Array
Comment:
The array class is a C++11 compatible implementation of static multidimensional arrays.
Kind Regards Brian
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Brian wrote:
Based on the assumption that, almost no feedback is good feedback, I'd like to submit the array class for review.
Typically that wouldn't be a very good assumption, but the proposal isn't very controversial. We have multi-dimensional C style arrays, we have single dimensional std::array and we have variadic templates. Enhancing std:array to multi-dimensional using variadic templates to make it symmetric with C style arrays seems like an obvious thing to do in a TR, and doing it in boost is a good first step. I looked at the documentation. It seems odd that you don't show an example of the syntax you are trying to achieve in user code. It is intuitive that array<int, 2, 3> my_array would result in something indexable with my_array[1][2]. The documentation should say so. Can this library be made an extension of the existing boost array by detecting variadic template/C++-11 support at compile time? It seems it should be backward compatible with existing usage of boost array. I would prefer that to a new library. Regards, Luke

On 7/19/12, Lucanus wrote:
I looked at the documentation. It seems odd that you don't show an example of the syntax you are trying to achieve in user code. It is intuitive that array<int, 2, 3> my_array would result in something indexable with my_array[1][2]. The documentation should say so.
I'll add some examples to the documentation.
Can this library be made an extension of the existing boost array by detecting variadic template/C++-11 support at compile time? It seems it should be backward compatible with existing usage of boost array. I would prefer that to a new library.
It could be with some interface changes and consent from the author of Boost.Array. Regards Brian

It could be with some interface changes and consent from the author of Boost.Array.
I suggest that you ask the author of Boost.Array to be review manager. http://www.boost.org/doc/libs/ is down right now so I can't (easily) check who it is. Regards, Luke

On 7/23/12, Lucanus wrote:
I suggest that you ask the author of Boost.Array to be review manager. http://www.boost.org/doc/libs/ is down right now so I can't (easily) check who it is.
The author of Boost.Array is Nicolai Josuttis whom I'd be happy to have as review manager, if willing. Otherwise, since no-one has been appointed yet, I'd be happy if anyone was willing. Regards Brian
participants (5)
-
Brian Smith
-
Larry Evans
-
Oodini
-
Ronald Garcia
-
Simonson, Lucanus J