Сообщение Re: Поиск имени в NS параметра шаблона - можно что-то подобн от 12.12.2019 9:57
Изменено 12.12.2019 10:27 B0FEE664
Re: Поиск имени в NS параметра шаблона - можно что-то подобное придумать?
Здравствуйте, удусекшл, Вы писали:
У>Теперь, я хочу вывести значение в 16ти-ричном виде. В std::iomanip есть манипулятор hex, есть он и myNS::iomanip, и синтаксически совместим со стандартным.
У>Есть ли какое-то решение?
Есть некрасивое и простое решение: можно добавить для myNS::myStream::hex манипулятора перегрузку оператора << для ostream класса и тогда можно использовать myNS::iomanip везде, но наверное есть другое, красивое решение.
У>Теперь, я хочу вывести значение в 16ти-ричном виде. В std::iomanip есть манипулятор hex, есть он и myNS::iomanip, и синтаксически совместим со стандартным.
У>Есть ли какое-то решение?
Есть некрасивое и простое решение: можно добавить для myNS::myStream::hex манипулятора перегрузку оператора << для ostream класса и тогда можно использовать myNS::iomanip везде, но наверное есть другое, красивое решение.
Re: Поиск имени в NS параметра шаблона - можно что-то подобн
Здравствуйте, удусекшл, Вы писали:
У>Теперь, я хочу вывести значение в 16ти-ричном виде. В std::iomanip есть манипулятор hex, есть он и myNS::iomanip, и синтаксически совместим со стандартным.
У>Есть ли какое-то решение?
Есть некрасивое и простое решение: можно добавить для myNS::myStream::hex манипулятора перегрузку оператора << для ostream класса и тогда можно использовать myNS::iomanip везде, но наверное есть другое, красивое решение.
PS Придумал:
Должно работать, но надо подумать над порядком инициализации глобальных переменных.
Кроме того, может быть на auto можно навесить constexpr и &
У>Теперь, я хочу вывести значение в 16ти-ричном виде. В std::iomanip есть манипулятор hex, есть он и myNS::iomanip, и синтаксически совместим со стандартным.
У>Есть ли какое-то решение?
Есть некрасивое и простое решение: можно добавить для myNS::myStream::hex манипулятора перегрузку оператора << для ostream класса и тогда можно использовать myNS::iomanip везде, но наверное есть другое, красивое решение.
PS Придумал:
template<class T> auto S_HEX = std::hex;
template<> auto S_HEX<myNS::iomanip> = myNS::iomanip::hex;
template< typename StreamType >
void printSomething( StreamType s, const Something &something)
{
s << S_HEX<StreamType> << something.member;
//...
}
Должно работать, но надо подумать над порядком инициализации глобальных переменных.
Кроме того, может быть на auto можно навесить constexpr и &