X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fgray-streams-class.lisp;h=c0051a1faa67e1bf0fef61ed9b19c61eae7c3d75;hb=7d853ed1882221bc790062e423a74a620f6e4ee1;hp=58301b5defbc812893a228438fe5ee7bd07402dd;hpb=8fc5fda05f92d69c95b47e4ad7561d91dab18c3e;p=sbcl.git diff --git a/src/pcl/gray-streams-class.lisp b/src/pcl/gray-streams-class.lisp index 58301b5..c0051a1 100644 --- a/src/pcl/gray-streams-class.lisp +++ b/src/pcl/gray-streams-class.lisp @@ -9,44 +9,62 @@ ;;;; warranty. See the COPYING and CREDITS files for more information. (in-package "SB-GRAY") - -(sb-int:file-comment - "$Header$") ;;; 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))) +|#