id summary reporter owner description type status milestone component version severity resolution keywords cc 5816 any_range requires copyable elements bromeon@… Neil Groves " boost::any_range attempts to copy container elements even if the ''Reference'' template parameter is a reference. This behavior prevents the use of noncopyable element types and is inconsistent with boost::sub_range and boost::iterator_range. Short code example that doesn't compile (unless ''private:'' is commented out): {{{ #include // because any_range.hpp doesn't compile alone #include #include // X is movable, but non-copyable class X { public: X() {} X(X&&) {} void operator= (X&&) {} private: X(const X&); void operator= (const X&); }; int main() { std::vector v; boost::any_range range2 = v; } }}} The problem might be in line 429 of any_iterator_wrapper.hpp, where ''reference_as_value_type'' is used for the ''Reference'' template parameter of the underlying ''any_random_access_iterator_wrapper''." Bugs closed To Be Determined range Boost 1.47.0 Problem fixed