class_docstr: Utility class for managing a cache of ChainTransforms.
  
  This is an LRU cache; items are removed if they are not accessed after
  *max_age* calls to roll().
  
  Notes
  -----
  This class is used by SceneCanvas to ensure that ChainTransform instances
  are re-used across calls to draw_visual(). SceneCanvas creates one
  TransformCache instance for each top-level visual drawn, and calls
  roll() on each cache before drawing, which removes from the cache any
  transforms that were not accessed during the last draw cycle.
docstr: Increase the age of all items in the cache by 1. Items whose age
  is greater than self.max_age will be removed from the cache.
docstr_tok: ["Increase","the","age","of","all","items","in","the","cache","by","1",".","Items","whose","age","is","greater","than","self.max_age","will","be","removed","from","the","cache","."]
code: def roll(self):
      """Increase the age of all items in the cache by 1. Items whose age
      is greater than self.max_age will be removed from the cache.
      """
      rem = []
      for key, item in self._cache.items():
          if item[0] > self.max_age:
              rem.append(key)
          item[0] += 1
  
      for key in rem:
          logger.debug("TransformCache remove: %s", key)
          del self._cache[key]
  
file_path: vispy/vispy/visuals/transforms/_util.py
imports: from __future__ import division
  import functools
  import numpy
  from ...util import logger
  from functools import wraps
label_desc: Use image node_id 4 for calling the TransformCache obj's underlying member method code with example usage: obj.roll() without return types