-;;; ---------------------------------------------------------------------------
;;; vertex-iterator
-;;; ---------------------------------------------------------------------------
(u:defclass* vertex-iterator (containers::forward-iterator)
())
-;;; ---------------------------------------------------------------------------
(defmethod initialize-instance :after ((object vertex-iterator) &key)
(reset object))
-;;; ---------------------------------------------------------------------------
(defmethod reset ((iterator vertex-iterator))
(let ((vertex (containers::initial-container iterator)))
:transform (lambda (e) (other-vertex e vertex)))))
iterator)
-;;; ---------------------------------------------------------------------------
(defmethod containers::base-class-for-iteratee ((container basic-vertex))
'vertex-iterator)
-;;; ---------------------------------------------------------------------------
(defmethod containers::base-class-for-iteratee ((container basic-vertex))
(containers::base-class-for-iteratee (vertex-edges container)))