Re: safe alternative to va_arg
Fabian wrote:
Anyway, back to the issue you actually came for, instead of adding
various overloads, use templates:
There obviously is a problem: As the template (be it a standalone function
or a static class method) has to be usable from different dlls I have to
put it in a "common" dll. Dll-exporting templates only works with explicit
specialization (in the cpp file). So in this case there's no difference to
writing the overloads. Or have I overseen sth.?
Yes, you basically split the code in two parts:
1. Template functions that format the log messages.
2. Non-template functions that write the log message or configure the
logger.
The first category is inline in a header, the second one can be exported
from a DLL.
BTW: in case you are using VC6, now is a time to upgrade. With that
compiler, you further have to split the code in a baseclass that can be
exported from a DLL and a derived class (completely inline) that contains
the templates. Otherwise, you will get linker problems. At least I seem to
remember something like that...
Uli
--
C++ FAQ: http://parashift.com/c++-faq-lite
Sator Laser GmbH
Gesch??ftsf??hrer: Michael W??hrmann, Amtsgericht Hamburg HR B62 932