Здравствуйте, Marty, Вы писали:
M>Не обязан, и не в std. И что? Я не очень понимаю мысль
Тогда уточните что вам надо
M>И то, что если сделать перегрузку для std::uint64_t, компилятор будет видеть её как перегрузку для unsigned long long
Так потому как это один и тот же тип.
Если надо сделать его как-то иначе выводить сделайте обёртку и явно указывайте что вам надо.
std::uint64_t v1; unsigned long long v2;
stream << OutputWrapper1(v1) << OutputWrapper2(v2);
или так
https://godbolt.org/z/8Ga1E53cE