#215 closed Bugs (Invalid)
compiler error using multi_array w/ <algorithm>
Reported by: | dtrauma | Owned by: | nobody |
---|---|---|---|
Milestone: | Component: | None | |
Version: | None | Severity: | |
Keywords: | Cc: |
Description
[boost 1.30.2, gcc3.3.2] Hi there, when using multi_array I get compile time errors if I try to use them with <algorithm> like this: #include <algorithm> #include <boost/multi_array.hpp> int main () { //straight from the docs typedef boost::multi_array<double, 3> array_type; typedef array_type::extent_range range; array_type::extent_gen extents; array_type A(extents[2][3][4]); //each of those will fail with //enough errors to fill a novel //read access std::find(A.begin(), A.end(), 42.); //write access std::fill(A.begin(), A.end(), 42.); } Is it my fault? I tried it with boost/array.hpp and it worked, so I assumed it should work with multi-array, too. So there are three possibilities: 1.) I am a fool 2.) multi_array fools me 3.) gcc fools me or any combination of those; could someone de-fool the situation? :-) compiler output attached
Change History (2)
comment:2 by , 19 years ago
Logged In: YES user_id=590875 So it was 1.), indeed. After re-reading the docs, I think I got misled by the Reference Manual, Invariants: "Iteration through the range [a.begin(),a.end()) will traverse across every value_type of a." After reading the definition of value_type, it all gets clear. Too bad, I'll have to get me another container, then. Thanks for the quick help, sorry for the entropy in your inbox.
Note:
See TracTickets
for help on using tickets.