История изменений
Исправление tcpfinhello, (текущая версия) :
вот от fmt у меня реально бомбит, поскольку принцип его работы проще понять по декомпилу скомпилированного, чем по исходнику.
Я в какой-то момент свой fmt пейсал ради прикола, который успешно до сих пор у меня в логировании и работает. Буквально тыща строк или меньше. Не умеет наверное нифига в сравнении с fmt, но принцип работы простой: точка входа - это просто какая-то там шаблонная функция с переменным числом аргументов, а дальше ресурсивные вызовы очередной функции, определённой для очередного типа аргумента (блин не знаю как это называется правильно). В общем, в итоге я могу написать
MYLOG("time is {:T}, digit {:016x}, hello {}, world {}", time(nullptr), 0x12345, 1, 2);
А большего мне и не надо. Тупейшая задача - «перестать писать %d» была решена.
Исправление tcpfinhello, :
вот от fmt у меня реально бомбит, поскольку принцип его работы проще понять по декомпилу скомпилированного, чем по исходнику.
Я в какой-то момент свой fmt пейсал ради прикола, который успешно до сих пор у меня в логировании и работает. Буквально тыща строк или меньше. Не умеет наверное нифига в сравнении с fmt, но принцип работы простой: точка входа - это просто какая-то там шаблонная функция с переменным числом аргументов, а дальше ресурсивные вызовы очередной функции, определённой для очередного типа аргумента (блин не знаю как это называется правильно). В общем, в итоге я могу написать
MYLOG("time is {:T}, digit {:016x}, hello {}, world {}",
time(nullptr), 0x12345, 1, 2);
А большего мне и не надо. Тупейшая задача - «перестать писать %d» была решена.
Исправление tcpfinhello, :
вот от fmt у меня реально бомбит, поскольку принцип его работы проще понять по декомпилу скомпилированного, чем по исходнику.
Я в какой-то момент свой fmt пейсал ради прикола, который успешно до сих пор у меня в логировании и работает. Буквально тыща строк или меньше. Не умеет наверное нифига в сравнении с fmt, но принцип работы простой: точка входа - это просто какая-то там шаблонная функция с переменным числом аргументов, а дальше ресурсивные вызовы очередной функции, определённой для очередного типа аргумента (блин не знаю как это называется правильно). В общем, в итоге я могу написать
MYLOG("time is {:T}, digit {:016x}, hello {}, world {}",
time(nullptr), 0x12345, 1, 2);
А большего мне и не надо. Тупейшая задача - «перестать писать %d» была решена.
Исправление tcpfinhello, :
вот от fmt у меня реально бомбит, поскольку принцип его работы проще понять по декомпилу скомпилированного, чем по исходнику.
Я в какой-то момент свой fmt пейсал ради прикола, который успешно до сих пор у меня в логировании и работает. Буквально тыща строк или меньше. Не умеет наверное нифига в сравнении с fmt, но принцип работы простой: точка входа - это просто какая-то там шаблонная функция с переменным числом аргументов, а дальше ресурсивные вызовы очередной функции, определённой для очередного типа аргумента (блин не знаю как это называется правильно). В общем, в итоге я могу написать
auto str = blabla::format(
"time is {:T}, digit {:016x}, hello {}, world {}",
time(nullptr), 0x12345, 1, 2);
А большего мне и не надо. Тупейшая задача - «перестать писать %d» была решена.
Исходная версия tcpfinhello, :
вот от fmt у меня реально бомбит, поскольку принцип его работы проще понять по декомпилу скомпилированного, чем по исходнику.
Я в какой-то момент свой fmt пейсал ради прикола, который успешно до сих пор у меня в логировании и работает. Буквально тыща строк или меньше. Не умеет наверное нифига в сравнении с fmt, но принцип работы простой: точка входа - это просто какая-то там шаблонная функция с переменным числом аргументов, а дальше ресурсивные вызовы очередной функции, определённой для очередного типа аргумента (блин не знаю как это называется правильно). В общем, в итоге я могу написать
auto str = blabla::format(
"time is {:T}, digit {:016x}, hello {}, world {}",
time(nullptr), 0x12345, 1, 2);
А большего мне и не надо. Тупейшая задача - «перестать писать %d» была решена.