#include <iostream>
#include <type_traits>
#include <tuple>
#include <iomanip>

template <typename T,typename Tuple, size_t... Is>
void multiply_tuple_elements(T coeff, Tuple& tuple,std::index_sequence<Is...>)
{
    using do_= int[];
    (void)do_{0, ( 
            std::get<Is>(tuple)*=coeff
    ,0)...}; 
}

int main()
{
    double coeff = 2.0;
    std::tuple<double, double, double> m_size = std::make_tuple(1.0, 1.0, 1.0);
    multiply_tuple_elements(
            coeff,
            m_size ,
            std::make_index_sequence<std::tuple_size<decltype(m_size)>::value>()
    );
    
    std::cout << std::fixed;
    std::cout << std::get<0>(m_size) << std::endl;
    std::cout << std::get<1>(m_size) << std::endl;
    std::cout << std::get<2>(m_size) << std::endl;
    
    return 0;
}