Boost.MultiArray + Boost.Lambda woes

I have the following code:
typedef boost::multi_array

anony wrote:
I have the following code:
typedef boost::multi_array
multi_array_typea; multi_array_typea hfa;
multi_array_typea::extent_gen extentsa; hfa.resize(extentsa[a][b][c]);
multi_array_typea::const_iterator p(std::max_element(hfa.begin(), hfa.end(), bll::bind(static_cast
(&std::abs), bll::_1))); Which fails to compile, interestingly:
multi_array_typea::const_iterator p(std::max_element(hfa.begin(), hfa.end()));
compiles ok. Can someone please come up with appropriate BLL magic to resolve this situation? It seems to me, I'd somehow have to dereference bll:_1.
No. The signature that std::max_element expects is bool f(float, float); What you're passing is float f(float); In Christ, Steven Watanabe

On 07/01/10 06:13, Steven Watanabe wrote:
anony wrote:
multi_array_typea::const_iterator p(std::max_element(hfa.begin(), hfa.end()));
compiles ok. Can someone please come up with appropriate BLL magic to resolve this situation? It seems to me, I'd somehow have to dereference bll:_1.
No. The signature that std::max_element expects is bool f(float, float); What you're passing is float f(float);
Yes, I didn't lie, the construct, even though wrong, compiles ok. The
snippet below gives the correct result, though
float max_height(*std::max_element(hfa.data(), hfa.data() +
hfa.num_elements(), bll::bind(
static_cast
participants (2)
-
anony
-
Steven Watanabe