|
|
|
@ -32,11 +32,29 @@ namespace FatalImpl {
|
|
|
|
|
|
|
|
|
|
/* File-scope */ |
|
|
|
|
namespace { |
|
|
|
|
std::list<std::ostream*> **PeekStreamList (void) |
|
|
|
|
{ |
|
|
|
|
static std::list<std::ostream*> *streams = 0; |
|
|
|
|
return &streams; |
|
|
|
|
} |
|
|
|
|
std::list<std::ostream*> *GetStreamList (void) |
|
|
|
|
{ |
|
|
|
|
std::list<std::ostream*> **pstreams = PeekStreamList (); |
|
|
|
|
if (*pstreams == 0) |
|
|
|
|
{ |
|
|
|
|
*pstreams = new std::list<std::ostream*> (); |
|
|
|
|
} |
|
|
|
|
return *pstreams; |
|
|
|
|
} |
|
|
|
|
struct destructor |
|
|
|
|
{ |
|
|
|
|
~destructor () |
|
|
|
|
{ |
|
|
|
|
static std::list<std::ostream*> streams; |
|
|
|
|
return &streams; |
|
|
|
|
std::list<std::ostream*> **pstreams = PeekStreamList (); |
|
|
|
|
delete *pstreams; |
|
|
|
|
*pstreams = 0; |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|