9 #ifndef STK_UTIL_UTIL_RANGE_HPP 10 #define STK_UTIL_UTIL_RANGE_HPP 12 #include <boost/range.hpp> 18 typename boost::iterator_range<It>::const_iterator const_begin(
const boost::iterator_range<It> &range) {
19 return boost::begin(range);
24 typename boost::iterator_range<It>::const_iterator const_end(
const boost::iterator_range<It> &range) {
25 return boost::end(range);
30 typename boost::iterator_range<It>::iterator begin(
const boost::iterator_range<It> &range) {
31 return boost::begin(range);
36 typename boost::iterator_range<It>::iterator end(
const boost::iterator_range<It> &range) {
37 return boost::end(range);
42 typename boost::iterator_range<T>::const_iterator const_begin(
const boost::sub_range<T> &range) {
43 return boost::begin(range);
48 typename boost::iterator_range<T>::const_iterator const_end(
const boost::sub_range<T> &range) {
49 return boost::end(range);
54 typename boost::iterator_range<T>::iterator begin(
const boost::sub_range<T> &range) {
55 return boost::begin(range);
60 typename boost::iterator_range<T>::iterator end(
const boost::sub_range<T> &range) {
61 return boost::end(range);
66 #endif // STK_UTIL_UTIL_RANGE_HPP