Поиск имени в NS параметра шаблона - можно что-то подобное придумать?
От: удусекшл  
Дата: 12.12.19 07:50
Оценка:
Здравствуйте!

Есть шаблонная функция:
template< typename StreamType >
void printSomething( StreamType s, const Something &something)
{
    s<<something.member;
    //...
}


У меня есть класс потока, совместимый со стандартным по интерфейсу, и я могу в эту функцию передавать как std::cout, так и myNS::myStream.

Теперь, я хочу вывести значение в 16ти-ричном виде. В std::iomanip есть манипулятор hex, есть он и myNS::iomanip, и синтаксически совместим со стандартным. Но я не могу его использовать, не указав его с полным именем NS. Мне нужно перед вызовом printSomething сделать using namespace std::iomanip, или using namespace myNS::iomanip. Но это делать не хочется.

Вариант — настроить поток на вывод hex'ов — не вариант — в функции printSomething я хочу вывести много полей структуры, и все — по-разному.

Есть ли какое-то решение?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.