// -*- C++ -*- #ifndef __tuple_helper_h__ #define __tuple_helper_h__ #include #include #include "base_def.h" namespace MultiArrayTools { template auto make_left_x(const Tuple& tp) -> decltype(std::tuple_cat(make_left(tp), std::make_tuple(get(tp)))); template auto make_left_x(const Tuple& tp) -> decltype(std::make_tuple(get(tp))); template auto make_right_x(const Tuple& tp) -> decltype(std::tuple_cat(std::make_tuple(get(tp)), make_left(tp))); template auto make_right_x(const Tuple& tp) -> decltype(std::make_tuple(get(tp))); template auto make_left(const Tuple& tp) -> decltype(make_left_x(tp)); template auto make_right(const Tuple& tp) -> decltype(make_right_x(tp)); } #include "tuple_helper.cc" #endif