And his discussion of the documentation:
On a technical level, the web page doesn't accept arrow keys or page
up/down for scrolling, so I have to rely use my mouse for scrolling.
Also on a technical level, the right side of some of the tables is cut
off on my web browser even though there is blank space to the right of
the table. I am forced to rely on horizontal scrolling to see the whole
table, and there isn't even a horizontal scroll bar.
The tutorial recommends using "auto &&" or "auto const &" for holding
subarrays instead of "auto". I disagree. A subarray is not a
reference, no matter how much it tries to act like one, and holding it
by reference is a good way to get a dangling reference. I am fully
aware that local variables of reference can extend the lifetime of a
temporary, but I consider it messy to rely on this unless absolutely
necessary.
The reference for functions does not include the full function
prototype, with return type and argument types.
The boost/multi/elementwise.hpp header is not documented at all in the
reference section.
The documentation for (I assume)
boost::multi::subarray::const_element_ref just calls it element_ref.
boost::multi::subarray::index_range and
boost::multi::subarray::extension_type are only described in very vague
terms. What are the members of these types?
The return types of boost::multi::subarray::elements and
boost::multi::array_ref::elements should be documented.
The reference for boost::multi::dynamic_array::elements says that it is
overridden from its base type. This is not true, it inherits from
boost::multi::array_ref::elements (which does override
boost::multi::subarray::elements).
The references for dynamic_array and array have a bunch of references to
array_ref and dynamic_array respectively for functionality that is
ultimately inherited from subarray. It would be better to point these
references directly to where the functionality is defined.
boost::multi::restriction has a member function called "home" which
"returns an indexable cursor". I don't know what this cursor is, what
it does, or what members it has.
boost::multi::inplace_array is mentioned once but never documented.
"operator⇐" should be "operator<=".
And his discussion of the documentation:
On a technical level, the web page doesn't accept arrow keys or page
up/down for scrolling, so I have to rely use my mouse for scrolling.
Also on a technical level, the right side of some of the tables is cut
off on my web browser even though there is blank space to the right of
the table. I am forced to rely on horizontal scrolling to see the whole
table, and there isn't even a horizontal scroll bar.
The tutorial recommends using "auto &&" or "auto const &" for holding
subarrays instead of "auto". I disagree. A subarray is not a
reference, no matter how much it tries to act like one, and holding it
by reference is a good way to get a dangling reference. I am fully
aware that local variables of reference can extend the lifetime of a
temporary, but I consider it messy to rely on this unless absolutely
necessary.
The reference for functions does not include the full function
prototype, with return type and argument types.
The boost/multi/elementwise.hpp header is not documented at all in the
reference section.
The documentation for (I assume)
boost::multi::subarray::const_element_ref just calls it element_ref.
boost::multi::subarray::index_range and
boost::multi::subarray::extension_type are only described in very vague
terms. What are the members of these types?
The return types of boost::multi::subarray::elements and
boost::multi::array_ref::elements should be documented.
The reference for boost::multi::dynamic_array::elements says that it is
overridden from its base type. This is not true, it inherits from
boost::multi::array_ref::elements (which does override
boost::multi::subarray::elements).
The references for dynamic_array and array have a bunch of references to
array_ref and dynamic_array respectively for functionality that is
ultimately inherited from subarray. It would be better to point these
references directly to where the functionality is defined.
boost::multi::restriction has a member function called "home" which
"returns an indexable cursor". I don't know what this cursor is, what
it does, or what members it has.
boost::multi::inplace_array is mentioned once but never documented.
"operator⇐" should be "operator<=".