#ifndef PYTHONIC_BUILTIN_REVERSED_HPP #define PYTHONIC_BUILTIN_REVERSED_HPP #include "pythonic/include/builtins/reversed.hpp" #include "pythonic/utils/functor.hpp" PYTHONIC_NS_BEGIN namespace builtins { namespace details { template reversed::reversed() { } template reversed::reversed(Iterable const &iterable) : iterable(iterable) { } template typename reversed::iterator reversed::begin() { return iterable.rbegin(); } template typename reversed::iterator reversed::end() { return iterable.rend(); } template typename reversed::const_iterator reversed::begin() const { return iterable.rbegin(); } template typename reversed::const_iterator reversed::end() const { return iterable.rend(); } } template details::reversed reversed(Iterable const &iterable) { return {iterable}; } } PYTHONIC_NS_END #endif