#ifndef MIGRAPH_GUARD_MIGRAPHLIB_RANGES_HPP #define MIGRAPH_GUARD_MIGRAPHLIB_RANGES_HPP #include namespace migraph { template bool contains(C&& c, T&& x) { return c.find(x) != c.end(); } template void copy(Range&& r, Iterator it) { std::copy(r.begin(), r.end(), it); } template struct iterator_range { Iterator start; Iterator last; Iterator begin() const { return start; } Iterator end() const { return last; } }; template iterator_range range(Iterator start, Iterator last) { return {start, last}; } } // namespace migraph #endif