X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgray-streams-class.lisp;h=c0051a1faa67e1bf0fef61ed9b19c61eae7c3d75;hb=e63e3a55357c0de5220b62097b5ad17efaea6021;hp=5f9ebc76282fae126f45464f47b4a6a2bd80f436;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/pcl/gray-streams-class.lisp b/src/pcl/gray-streams-class.lisp index 5f9ebc7..c0051a1 100644 --- a/src/pcl/gray-streams-class.lisp +++ b/src/pcl/gray-streams-class.lisp @@ -13,37 +13,58 @@ ;;; Bootstrap the FUNDAMENTAL-STREAM class. (let ((sb-pcl::*pcl-class-boot* 'fundamental-stream)) (defclass fundamental-stream (standard-object stream) - () + ((open-p :initform t + :accessor stream-open-p)) #+sb-doc - (:documentation "the base class for all CLOS streams"))) + (:documentation "the base class for all Gray streams"))) ;;; Define the stream classes. -(defclass fundamental-input-stream (fundamental-stream) nil) +(defclass fundamental-input-stream (fundamental-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray input streams")) -(defclass fundamental-output-stream (fundamental-stream) nil) +(defclass fundamental-output-stream (fundamental-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray output streams")) -(defclass fundamental-character-stream (fundamental-stream) nil) +(defclass fundamental-character-stream (fundamental-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray streams whose element-type is a subtype of character")) -(defclass fundamental-binary-stream (fundamental-stream) nil) +(defclass fundamental-binary-stream (fundamental-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray streams whose element-type is a subtype of unsigned-byte or signed-byte")) (defclass fundamental-character-input-stream - (fundamental-input-stream fundamental-character-stream) nil) + (fundamental-input-stream fundamental-character-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray input streams whose element-type is a subtype of character")) (defclass fundamental-character-output-stream - (fundamental-output-stream fundamental-character-stream) nil) + (fundamental-output-stream fundamental-character-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray output streams whose element-type is a subtype of character")) (defclass fundamental-binary-input-stream - (fundamental-input-stream fundamental-binary-stream) nil) + (fundamental-input-stream fundamental-binary-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray input streams whose element-type is a subtype of unsigned-byte or signed-byte")) (defclass fundamental-binary-output-stream - (fundamental-output-stream fundamental-binary-stream) nil) + (fundamental-output-stream fundamental-binary-stream) nil + #+sb-doc + (:documentation "a superclass of all Gray output streams whose element-type is a subtype of unsigned-byte or signed-byte")) +;;; This is not in the Gray stream proposal, so it is left here +;;; as example code. +;;; ;;; example character input and output streams - +#| (defclass character-output-stream (fundamental-character-output-stream) ((lisp-stream :initarg :lisp-stream - :accessor character-output-stream-lisp-stream))) + :accessor character-output-stream-lisp-stream))) (defclass character-input-stream (fundamental-character-input-stream) ((lisp-stream :initarg :lisp-stream - :accessor character-input-stream-lisp-stream))) + :accessor character-input-stream-lisp-stream))) +|#