|
Boost Users : |
From: Dan Dimerman (dimerman_at_[hidden])
Date: 2004-12-22 08:03:14
Richard Howells wrote:
> 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 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 list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net