#include #include #include #include #include int main (int argc, char* argv[]) { using boost::adaptors::strided; int ar[3] = {0, 1, 2}; boost::strided_range rng = ar | strided(2); std::cout << *--(rng.end()) << std::endl; std::cout << *boost::next(rng.begin(), boost::distance(rng) - 1) << std::endl; std::cout << std::boolalpha; std::cout << ( --(rng.end()) == boost::next(rng.begin(), boost::distance(rng) - 1)) << std::endl; std::cout << (*--(rng.end()) == *boost::next(rng.begin(), boost::distance(rng) - 1)) << std::endl; return 0; }