const and mutable opApply's
Oleg B via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jun 19 15:17:28 PDT 2016
Hello
struct WTable
{
...
private enum opApply_body = q{
if( smt )
{
foreach( f; 0 .. size-1 )
foreach( t; f+1 .. size )
if( auto r = dlg(f,t,data[getIndex(f,t)]) )
return r;
}
else
{
foreach( f; 0 .. size )
foreach( t; 0 .. size )
{
if( f == t ) continue;
if( auto r = dlg(f,t,data[getIndex(f,t)]) )
return r;
}
}
return 0;
};
int opApply( int delegate(size_t,size_t,T val) dlg ) const {
mixin( opApply_body ); }
int opApply( int delegate(size_t,size_t,ref T val) dlg ) {
mixin( opApply_body ); }
}
How I can rewrite this code without mixin's and with one (maybe
inout) opApply?
More information about the Digitalmars-d-learn
mailing list