hdrvdp_get_from_cache.m 423 B

1234567891011121314151617
  1. function var = hdrvdp_get_from_cache( name, key, func )
  2. persistent hdrvdp_cache;
  3. if( ~isfield( hdrvdp_cache, name ) || any(hdrvdp_cache.(name).key ~= key) )
  4. % Cache does not exist or needs updating
  5. hdrvdp_cache.(name) = struct();
  6. hdrvdp_cache.(name).key = key;
  7. var = func();
  8. hdrvdp_cache.(name).var = var;
  9. else
  10. % Data can be fetched from the cache
  11. var = hdrvdp_cache.(name).var;
  12. end
  13. end