#ifndef MEDIAPIPE_FRAMEWORK_API2_TUPLE_H_ #define MEDIAPIPE_FRAMEWORK_API2_TUPLE_H_ #include #include #include #include "absl/meta/type_traits.h" // This file contains utilities for working with constexpr tuples. namespace mediapipe { namespace api2 { namespace internal { // Defines a std::index_sequence with indices for each item of the tuple. template using tuple_index_sequence = std::make_index_sequence>>; // Concatenates two std::index_sequences. template constexpr auto index_sequence_cat(std::index_sequence, std::index_sequence) -> std::index_sequence { return {}; } template constexpr auto index_sequence_cat(std::index_sequence, std::index_sequence, Tail... tail) { return index_sequence_cat(std::index_sequence(), tail...); } template