Annotation of researchv10dc/man/mana/strstream.3, revision 1.1

1.1     ! root        1: .  \"ident     "%W%"
        !             2: .  \"Copyright (c) 1984 AT&T
        !             3: .  \"All Rights Reserved
        !             4: .  \"THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
        !             5: .  \"The copyright notice above does not evidence any
        !             6: .  \"actual or intended publication of such source code.
        !             7: .TH STRSTREAM 3I+ "C++ Stream Library" " "
        !             8: .SH NAME
        !             9: strstream \- iostream specialized to arrays
        !            10: .SH SYNOPSIS
        !            11: .ta 1i 2i
        !            12: .ft B
        !            13: .nf
        !            14: 
        !            15: #include <strstream.h>
        !            16: 
        !            17: class ios {
        !            18: public:
        !            19:        enum    open_mode { in, out, ate, app } ;
        !            20:        // \fIand lots of other stuff ... \fP
        !            21:        } ;
        !            22: 
        !            23: class istrstream : public istream {
        !            24: public:
        !            25:                istrstream(char*) ;
        !            26:                istrstream(char*, int) ;
        !            27:        strstreambuf*   rdbuf() ;
        !            28: } ;
        !            29: 
        !            30: class ostrstream : public ostream {
        !            31: public:
        !            32:                ostrstream();
        !            33:                ostrstream(char*, int, open_mode = 0) ;
        !            34:        int     pcount() ;
        !            35:        char*   str();
        !            36:        strstreambuf*   rdbuf() ;
        !            37: };
        !            38: 
        !            39: .fi
        !            40: .ft R
        !            41: .SH DESCRIPTION
        !            42: \f(CWstrstream\fR specializes \f(CWiostream\fR
        !            43: for "incore" operations, that is, storing and fetching
        !            44: from arrays of bytes.  The \f(CWstreambuf\fR associated with a
        !            45: \f(CWstrstream\fR is a \f(CWstrstreambuf\fR.
        !            46: .PP
        !            47: Assume
        !            48: .br
        !            49: \(em \fBiss\fR is a \f(CWistrstream\fR.
        !            50: .br
        !            51: \(em \fBoss\fR is a \f(CWostrstream\fR.
        !            52: .br
        !            53: \(em \fBcp\fR is a \f(CWchar*\fR.
        !            54: .br
        !            55: \(em \fBmode\fR is an \f(CWopen_mode\fR.
        !            56: .br
        !            57: \(em \fBi\fR and \fBlen\fR are \f(CWint\fR.
        !            58: .br
        !            59: \(em \fBssb\fR is a \f(CWstrstreambuf*\fR.
        !            60: .br
        !            61: \(em \fBa\fR is a \f(CWvoid* (*)(long)\fR.
        !            62: .br
        !            63: \(em \fBf\fR is a \f(CWvoid (*)(void*)\fR.
        !            64: .PP
        !            65: The constructors:
        !            66: .TP
        !            67: \fBistrsteam(cp)\fR
        !            68: Characters will be fetched from the (null terminated) string
        !            69: \fBcp\R.  The terminating null character will not be part of
        !            70: the sequence.  Seeks are allowed within that space.
        !            71: .TP
        !            72: \fBistrstream(cp,len)
        !            73: Characters will be fetched from the array beginning at \fBcp\fR
        !            74: and extending for \fBlen\fR bytes.  
        !            75: Seeks are allowed anywhere
        !            76: within that array.
        !            77: .TP
        !            78: \fBostrstream()\fR
        !            79: Space will be dynamically allocated to hold stored characters.
        !            80: .TP
        !            81: \fBostrstream(cp,n,mode)\fR
        !            82: Characters will be stored into the array starting at \fBcp\fR
        !            83: and continuing for \fBn\fR bytes.  If \f(CWios::ate\fR or
        !            84: \f(CWios::append\fR is set in \fBmode\fR, \fBcp\fR is assumed
        !            85: to be a null terminated string and storing will begin at the
        !            86: null character.  Otherwise storing will begin at \fBcp\fR.
        !            87: Seeks are allowed anywhere in the array.
        !            88: Members:
        !            89: .TP
        !            90: \fBcp=oss.str()\fR
        !            91: Returns a pointer to the array being used.
        !            92: If \fBoss\fR was constructed with an explicit array, 
        !            93: \fBcp\fR is just a pointer to the array.  Otherwise,
        !            94: \fBcp\fR points
        !            95: to a dynamically allocated area.
        !            96: Until \fBstr\fR is called, deleting the dynamically allocated area is
        !            97: the responsibility of \fBss\fR.
        !            98: After \fBstr\fR returns, the array becomes the responsibility
        !            99: of the user program.
        !           100: Once \fBstr\fR has been called the effect of storing
        !           101: more characters into \fBss\fR is undefined.
        !           102: .TP
        !           103: \fBi=ss.pcount()\fR
        !           104: The number of bytes that have been stored into the buffer.
        !           105: This is mainly of use when binary data has been
        !           106: stored and \fBss.str()\fR does not point to
        !           107: a null terminated string.
        !           108: .SH SEE ALSO
        !           109: strstreambuf(3C++),
        !           110: iostream(3C++)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.