blob: dc9bbb1b06456d1e0dcacb48ae089def2de69579 [file] [log] [blame]
module imports.test11931d;
template filter(alias pred)
{
auto filter(Range)(Range r)
{
struct FilterResult
{
Range array()
{
return data;
}
Range data;
}
return FilterResult(r);
}
}
struct ConnectionPoint
{
void disconnect()
{
if(_f)
{
_f();
_f = null;
}
}
private void delegate() _f;
}
struct Signal(T, A...)
{
ConnectionPoint add(D f)
{
auto rf = { _arr = _arr.filter!(a => a != f).array; };
return ConnectionPoint();
}
private:
alias D = T delegate(A);
D[] _arr;
}