#ifndef TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_SORT_H_ #define TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_SORT_H_ #include "list/operation/concatenate.h" #include "list/operation/delete_nth.h" #include "list/operation/higher/partition.h" #include "function/apply.h" namespace tav { template < template class Comparator, typename Sequence > class Sort { private: using index = Divide>, Size<2>>; using pivot = Eval>; using partitions = Eval::template function, Eval> >>; using lhs = Eval>; using rhs = Eval>; public: typedef Eval>, Eval>, Eval> >> >> type; }; template class Comparator> struct Sort { typedef void type; }; } #endif // TYPEASVALUE_SRC_LIST_OPERATION_HIGHER_SORT_H_