// Boost.Geometry // Unit Test // Copyright (c) 2014 Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #include #include int test_main(int, char* []) { namespace bgr = bg::range; std::vector v; for (int i = 0 ; i < 20 ; ++i) { bgr::push_back(v, i); } for (int i = 0 ; i < 20 ; ++i) { BOOST_CHECK(bgr::at(v, i) == i); } BOOST_CHECK(bgr::front(v) == 0); BOOST_CHECK(bgr::back(v) == 19); BOOST_CHECK(boost::size(v) == 20); // [0,19] bgr::resize(v, 15); BOOST_CHECK(boost::size(v) == 15); // [0,14] BOOST_CHECK(bgr::back(v) == 14); bgr::pop_back(v); BOOST_CHECK(boost::size(v) == 14); // [0,13] BOOST_CHECK(bgr::back(v) == 13); bgr::erase(v, boost::end(v) - 1); BOOST_CHECK(boost::size(v) == 13); // [0,12] BOOST_CHECK(bgr::back(v) == 12); bgr::erase(v, boost::end(v) - 3, boost::end(v)); BOOST_CHECK(boost::size(v) == 10); // [0,9] BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v) + 2); BOOST_CHECK(boost::size(v) == 9); // {0,1,3..9} BOOST_CHECK(bgr::at(v, 1) == 1); BOOST_CHECK(bgr::at(v, 2) == 3); BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v) + 2, boost::begin(v) + 2); BOOST_CHECK(boost::size(v) == 9); // {0,1,3..9} BOOST_CHECK(bgr::at(v, 1) == 1); BOOST_CHECK(bgr::at(v, 2) == 3); BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v) + 2, boost::begin(v) + 5); BOOST_CHECK(boost::size(v) == 6); // {0,1,6..9} BOOST_CHECK(bgr::at(v, 1) == 1); BOOST_CHECK(bgr::at(v, 2) == 6); BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v)); BOOST_CHECK(boost::size(v) == 5); // {1,6..9} BOOST_CHECK(bgr::at(v, 0) == 1); BOOST_CHECK(bgr::at(v, 1) == 6); BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v), boost::begin(v) + 3); BOOST_CHECK(boost::size(v) == 2); // {8,9} BOOST_CHECK(bgr::at(v, 0) == 8); BOOST_CHECK(bgr::at(v, 1) == 9); BOOST_CHECK(bgr::back(v) == 9); bgr::erase(v, boost::begin(v), boost::end(v)); BOOST_CHECK(boost::size(v) == 0); return 0; }