Function: eieio--class-precedence-bfs

eieio--class-precedence-bfs is a byte-compiled function defined in eieio-core.el.gz.

Signature

(eieio--class-precedence-bfs CLASS)

Documentation

Return all parents of CLASS in breadth-first order.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/eieio-core.el.gz
;;;
;; Method Invocation Order: Breadth First
(defun eieio--class-precedence-bfs (class)
  "Return all parents of CLASS in breadth-first order."
  (let* ((result)
         (queue (eieio--class/struct-parents class)))
    (while queue
      (let ((head (pop queue)))
	(unless (member head result)
	  (push head result)
	  (unless (eq head eieio-default-superclass)
	    (setq queue (append queue (eieio--class/struct-parents head)))))))
    (cons class (nreverse result)))
  )