template inline constexpr bool apply_is_noexcept = false ; template inline constexpr bool apply_is_noexcept > = noexcept ( std :: invoke ( std :: declval ( ) , std :: get > - Is - 1 > ( std :: declval ( ) ) . . . ) ) ; template constexpr decltype ( auto ) apply_reversed ( F && f , Tuple && tup ) noexcept ( apply_is_noexcept > >> ) { return [ & ] ( std :: index_sequence ) { return std :: invoke ( std :: forward ( f ) , std :: get > - Is - 1 > ( std :: forward ( tup ) ) . . . ) ; } ( std :: make_index_sequence > > { } ) ; }