logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

redi::pstream_common - Class template for common base class

Author

       Generated automatically by Doxygen for PStreams from the source code.

PStreams                                         Sun Dec 13 2020        redi::pstream_common<CharT,Traits>(3)

Constructor & Destructor Documentation

template<typenameC,typenameT>redi::pstream_common<C,T>::pstream_common[inline],[protected]
       Default constructor. Creates an uninitialised stream.

       References redi::pstream_common< CharT, Traits >::buf_.

   template<typenameC,typenameT>redi::pstream_common<C,T>::pstream_common(conststd::string&cmd,pmodemode)[inline],[protected]
       Constructor that initialises the stream by starting a process. Initialises the stream buffer by calling
       do_open( command , mode )

       Parameterscmd a string containing a shell command.
           mode the I/O mode to use when opening the pipe.

       Seealsodo_open(conststd::string&,pmode)

       References redi::pstream_common< CharT, Traits >::buf_, and redi::pstream_common< CharT, Traits
       >::do_open().

   template<typenameC,typenameT>redi::pstream_common<C,T>::pstream_common(conststd::string&file,constargv_type&argv,pmodemode)[inline],[protected]
       Constructor that initialises the stream by starting a process. Initialises the stream buffer by calling
       do_open( file , argv , mode )

       Parametersfile a string containing the pathname of a program to execute.
           argv a vector of argument strings passed to the new program.
           mode the I/O mode to use when opening the pipe.

       Seealsodo_open(conststd::string&,constargv_type&,pmode)

       References redi::pstream_common< CharT, Traits >::buf_, and redi::pstream_common< CharT, Traits
       >::do_open().

   template<typenameC,typenameT>redi::pstream_common<C,T>::~pstream_common[inline],[protected],[purevirtual]
       Pure virtual destructor. This is a pure virtual function to make pstream_commonabstract.Becauseitisthedestructoritwillbecalledbyderivedclassesandsomustbedefined.Itisalsoprotected,todiscourageuseofthePStreamsclassesthroughpointersorreferencestothebaseclass.Seealso
           If defining a pure virtual seems odd you should read http://www.gotw.ca/gotw/031.htm (and the rest of
           the site as well!)

Detailed Description

template<typenameCharT,typenameTraits=std::char_traits<CharT>>
       class redi::pstream_common< CharT, Traits >" Class template for common base class.

       Abstract Base Class providing common functionality for basic_ipstream, basic_opstream and basic_pstream.
       pstream_common manages the basic_pstreambuf stream buffer that is used by the derived classes to
       initialise an iostream class.

Member Function Documentation

template<typenameC,typenameT>intredi::pstream_common<C,T>::close[inline]
       Close the pipe, returning the program's exit status, as pclose(3) does.

       Calls rdbuf->close() and sets failbit on error. Returns process's exit status, as pclose(3) does.

   template<typenameC,typenameT>conststd::string&redi::pstream_common<C,T>::command[inline]
       Return the command used to initialise the stream.

       Returns
           a string containing the command used to initialise the stream.

   template<typenameC,typenameT>voidredi::pstream_common<C,T>::do_open(conststd::string&cmd,pmodemode)[inline],[protected]
       Start a process. Calls rdbuf()->open( command , mode ) and sets failbit on error.

       Parameterscmd a string containing a shell command.
           mode the I/O mode to use when opening the pipe.

       Seealsobasic_pstreambuf::open(conststd::string&,pmode)

       Referenced by redi::pstream_common< CharT, Traits >::pstream_common().

   template<typenameC,typenameT>voidredi::pstream_common<C,T>::do_open(conststd::string&file,constargv_type&argv,pmodemode)[inline],[protected]
       Start a process. Calls rdbuf()->open( file, argv, mode ) and sets failbit on error.

       Parametersfile a string containing the pathname of a program to execute.
           argv a vector of argument strings passed to the new program.
           mode the I/O mode to use when opening the pipe.

       Seealsobasic_pstreambuf::open(conststd::string&,constargv_type&,pmode)template<typenameC,typenameT>boolredi::pstream_common<C,T>::is_open[inline]
       Report whether the stream's buffer has been initialised.

       Returnsrdbuf()->is_open().

       Seealsobasic_pstreambuf::is_open()template<typenameC,typenameT>pstream_common<C,T>::streambuf_type*redi::pstream_common<C,T>::rdbuf[inline]
       Return a pointer to the stream buffer.

       Returns
           a pointer to the private stream buffer member.

Name

       redi::pstream_common - Class template for common base class

Synopsis

       #include <pstream.h>

       Inherits basic_ios< CharT, std::char_traits< CharT > >, and redi::pstreams.

   PublicTypes
       typedef int fd_type
           Type used for file descriptors.

   PublicMemberFunctions
       int close ()
       bool is_open () const
           Report whether the stream's buffer has been initialised.
       const std::string & command () const
           Return the command used to initialise the stream.
       streambuf_type * rdbuf () const
           Return a pointer to the stream buffer.

   StaticPublicAttributes
       static const pmodepstdin = std::ios_base::out
           Write to stdin.
       static const pmodepstdout = std::ios_base::in
           Read from stdout.
       static const pmodepstderr = std::ios_base::app
           Read from stderr.
       static const pmodenewpg = std::ios_base::trunc
           Create a new process group for the child process.

   ProtectedTypes
       typedef basic_pstreambuf< CharT, Traits > streambuf_type
       typedef std::basic_ios< CharT, Traits > ios_type
       typedef pstreams::pmodepmode
       typedef pstreams::argv_typeargv_type
       enum { bufsz = 32 }
       enum { pbsz = 2 }

   ProtectedMemberFunctionspstream_common ()
           Default constructor.
       pstream_common (const std::string &cmd, pmode mode)
           Constructor that initialises the stream by starting a process.
       pstream_common (const std::string &file, const argv_type &argv, pmode mode)
           Constructor that initialises the stream by starting a process.
       virtual ~pstream_common ()=0
           Pure virtual destructor.
       void do_open (const std::string &cmd, pmode mode)
           Start a process.
       void do_open (const std::string &file, const argv_type &argv, pmode mode)
           Start a process.

   ProtectedAttributes
       std::string command_
           The command used to start the process.
       streambuf_typebuf_
           The stream buffer.

See Also