[Boost-users] Generalize boost::optional as boost::range to support boost::range::adaptors