This procedure assumes that you have control over the types that should be made conformant to a Range concept. If not, see method 2.
The primary templates in this library are implemented such that standard containers will work automatically and so will boost::array. Below is given an overview of which member functions and member types a class must specify to be useable as a certain Range concept.
member functions are not needed even though the container can support bidirectional
The required member types are:
Again one should notice that member types
are not needed.