// // immer: immutable data structures for C++ // Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente // // This software is distributed under the Boost Software License, Version 1.0. // See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt // #include #include #include #include // include:myiota/start immer::vector myiota(immer::vector v, int first, int last) { auto t = v.transient(); std::generate_n( std::back_inserter(t), last - first, [&] { return first++; }); return t.persistent(); } // include:myiota/end int main() { auto v = myiota({}, 0, 100); std::copy(v.begin(), v.end(), std::ostream_iterator{std::cout, "\n"}); }