Files
ldc/tango/example/external/GlueFlectioned.d
Tomas Lindquist Olsen b15b3484c8 [svn r136] MAJOR UNSTABLE UPDATE!!!
Initial commit after moving to Tango instead of Phobos.

Lots of bugfixes...

This build is not suitable for most things.
2008-01-11 17:57:40 +01:00

43 lines
839 B
D

import tango.core.Exception;
import cn.kuehne.flectioned;
TracedExceptionInfo traceHandler( void* ptr = null )
{
class FlectionedTrace :
TracedExceptionInfo
{
this( void* ptr = null )
{
if( ptr )
m_trace = Trace.getTrace( cast(size_t) ptr );
else
m_trace = Trace.getTrace();
}
int opApply( int delegate( inout char[] ) dg )
{
int ret = 0;
foreach( t; m_trace )
{
char[] buf = t.toString;
ret = dg( buf );
if( ret != 0 )
break;
}
return ret;
}
private:
Trace[] m_trace;
}
return new FlectionedTrace( ptr );
}
static this()
{
setTraceHandler( &traceHandler );
}