====== persist ======
Eine Konstante, die als const Referenz zurück gegeben wird, bleibt bestehen. Sie darf nicht variable konstruiert werden.
static Dependency::Collection const EmptyDepCollection;
Dependency::Collection const & getTargetFiles() const
{
BuildJob * job = getBuildJob();
if( !job )
return EmptyDepCollection;
}
wird zu
getTargetFiles is code as Dependency::Collection ref :=
{
job = getBuildJob();
if( !job )
return {} persist; // Dies ist eine Konstante, sie wird statisch angelegt.
}