eieio: eieio-instance-tracker

 
 12.2 ‘eieio-instance-tracker’
 =============================
 
 This class is defined in the package ‘eieio-base’.
 
    Sometimes it is useful to keep a master list of all instances of a
 given class.  The class ‘eieio-instance-tracker’ performs this task.
 
  -- Class: eieio-instance-tracker tracker-symbol
      Enable instance tracking for this class.  The slot TRACKER-SYMBOL
      should be initialized in inheritors of this class to a symbol
      created with ‘defvar’.  This symbol will serve as the variable used
      as a master list of all objects of the given class.
 
  -- Method on eieio-instance-tracker: initialize-instance obj slot
      This method is defined as an ‘:after’ method.  It adds new
      instances to the master list.  Do not overload this method unless
      you use ‘call-next-method.’
 
  -- Method on eieio-instance-tracker: delete-instance obj
      Remove OBJ from the master list of instances of this class.  This
      may let the garbage collector nab this instance.
 
  -- eieio-instance-tracker-find: key slot list-symbol
      This convenience function lets you find instances.  KEY is the
      value to search for.  SLOT is the slot to compare KEY against.  The
      function ‘equal’ is used for comparison.  The parameter LIST-SYMBOL
      is the variable symbol which contains the list of objects to be
      searched.