Writing a bare-bones view that can be used in a range-based for loop is straightforward. Writing a std-compatible view, along with its range adaptor, is not. This talk will get you up to speed on what you need to know to write views "the right way".
Zach Laine is a Boost author and C++ Standard Committee member. He has been writing C++ professionally for over 20 years, focusing on graphics, scientific computing, games, metaprogramming, generic programming, and good library design.