Hi, you wrote:
> typedef boost::any_range<
Try use reference to value as value_type template parameter for boost::any_range.
Also you can use boost::indirected_range instead.