Vladimir is right.
You've seen the problems and crashes that leaving type checking to the programmer causes. You need the compiler to do the checking for you.
I suggest using the same kind of scheme as the iostreams library. You might /.../ ...it will be (mostly) type safe - the type dangerous stuff is isolated to one place per output type - and you can extend it as you go. You'll
Could you do Logger<DBG> MyLogger; MyLogger.print(); ? -----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Dan Dimerman Sent: 22 December 2004 13:03 To: boost-users@lists.boost.org Subject: [Boost-users] Re: Q: boost::format : can formatting variablearguments lists be done ? Richard Howells wrote: likely
need extra formatting stuff and that's where boost::format may help you.
I was thinking about something like: MyLogger::print( const boost::format& f ) and since all format's operator %() return a boost::format, I could with this single function reap all the types handled by it at once. I use a function rather than the operator << because they are actually template functions, with the parameter being the severity. So for _DEBUG versions, the MyLogger::print< DBG >() function instantiates to a proper call to print, while in _RELEASE versions it instantiates to an empty function. I just didn't see a clean way to do this with operators. Dan _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users