#ifndef TYPEASVALUE_SRC_LIST_OPERATION_REVERSE_H_ #define TYPEASVALUE_SRC_LIST_OPERATION_REVERSE_H_ #include "append.h" #include "higher/fold.h" namespace tav { namespace detail { template class Reverse { private: template < typename Current, typename Previous > using reversed_append = tav::Append< Previous, tav::List >; public: typedef tav::Fold type; }; } template using Reverse = Eval>; } #endif // TYPEASVALUE_SRC_LIST_OPERATION_REVERSE_H_