Я буду иметь это в виду, спасибо

я есть 2 функции для чтения двоичного файла.

Первая функция читаетsizeof(T) байт из файла:

template<typename T>
T read() { ... some IO operations ... };

Вторая функция вызывает первый по несколько раз с каждым параметром шаблона:

template<typename... Ts>
std::tuple<Ts...> read_all() {
    return std::make_tuple(read<Ts>()...);
};

Все работает нормально, кроме 1-го порядка вызова функций. Для чего-то вроде

uint32_t a;
uint8_t b;
std::tie(a, b) = read_all<uint32_t, uint8_t>();

первый будет называтьсяread<uint8_t>() и после этогоread<uint32>() который меняет порядок передачи параметров шаблона и портит порядок следования байтов в файле.

Конечно, я могу позвонитьread_all с обратным порядком аргументов шаблона и получить правильный порядок в конце, но есть ли более очевидный способ сделать это?

Ответы на вопрос(2)

Ваш ответ на вопрос