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