
The (recent svn) docs for range talk about boost_range_{begin,end,size}. Should't that be just range_{begin,end,size}? Method 2: provide free-standing functions and specialize metafunctions This procedure assumes that you cannot (or do not wish to) change the types that should be made conformant to a Range concept. If this is not true, see method 1. The primary templates in this library are implemented such that certain functions are found via argument-dependent-lookup (ADL). Below is given an overview of which free-standing functions a class must specify to be useable as a certain Range concept. Let x be a variable (const or mutable) of the class in question. Function Related concept boost_range_begin(x) Single Pass Range boost_range_end(x) Single Pass Range boost_range_size(x) Forward Range boost_range_begin() and boost_range_end() must be overloaded for both const and mutable reference arguments.