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::basic_opstream - Class template for Output PStreams

Author

       Generated automatically by Doxygen for PStreams from the source code.

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

Constructor & Destructor Documentation

template<typenameCharT,typenameTraits=std::char_traits<CharT>>redi::basic_opstream<CharT,Traits>::basic_opstream(conststd::string&cmd,pmodemode=pstdin)[inline],[explicit]
       Constructor that initialises the stream by starting a process. Initialises the stream buffer by calling
       do_open() with the supplied arguments.

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

       Seealsodo_open(conststd::string&,pmode)template<typenameCharT,typenameTraits=std::char_traits<CharT>>redi::basic_opstream<CharT,Traits>::basic_opstream(conststd::string&file,constargv_type&argv,pmodemode=pstdin)[inline]
       Constructor that initialises the stream by starting a process. Initialises the stream buffer by calling
       do_open() with the supplied arguments.

       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)template<typenameCharT,typenameTraits=std::char_traits<CharT>>redi::basic_opstream<CharT,Traits>::basic_opstream(constargv_type&argv,pmodemode=pstdin)[inline],[explicit]
       Constructor that initialises the stream by starting a process. Initialises the stream buffer by calling
       do_open(argv[0],argv,mode|pstdin)

       Parametersargv 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)template<typenameCharT,typenameTraits=std::char_traits<CharT>>redi::basic_opstream<CharT,Traits>::~basic_opstream()[inline]
       Destructor. Closes the stream and waits for the child to exit.

Detailed Description

template<typenameCharT,typenameTraits=std::char_traits<CharT>>
       class redi::basic_opstream< CharT, Traits >" Class template for Output PStreams.

       Writing to an open opstream writes to the standard input of the command; the command's standard output is
       the same as that of the process that created the pstream object, unless altered by the command itself.

Member Function Documentation

intredi::pstream_common<C,T>::close[inline],[inherited]
       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.

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

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

   voidredi::pstream_common<C,T>::do_open(conststd::string&cmd,pmodemode)[inline],[protected],[inherited]
       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)voidredi::pstream_common<C,T>::do_open(conststd::string&file,constargv_type&argv,pmodemode)[inline],[protected],[inherited]
       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)boolredi::pstream_common<C,T>::is_open[inline],[inherited]
       Report whether the stream's buffer has been initialised.

       Returnsrdbuf()->is_open().

       Seealsobasic_pstreambuf::is_open()template<typenameCharT,typenameTraits=std::char_traits<CharT>>voidredi::basic_opstream<CharT,Traits>::open(conststd::string&cmd,pmodemode=pstdin)[inline]
       Start a process. Calls do_open( cmd , mode|pstdin ).

       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, std::char_traits< CharT > >::do_open(), and
       redi::pstreams::pstdin.

   template<typenameCharT,typenameTraits=std::char_traits<CharT>>voidredi::basic_opstream<CharT,Traits>::open(conststd::string&file,constargv_type&argv,pmodemode=pstdin)[inline]
       Start a process. Calls do_open( file , argv , mode|pstdin ).

       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, std::char_traits< CharT > >::do_open(), and
       redi::pstreams::pstdin.

   pstream_common<C,T>::streambuf_type*redi::pstream_common<C,T>::rdbuf[inline],[inherited]
       Return a pointer to the stream buffer.

       Returns
           a pointer to the private stream buffer member.

Name

       redi::basic_opstream - Class template for Output PStreams

Synopsis

       #include <pstream.h>

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

   PublicTypes
       typedef pbase_type::pmode pmode
           Type used to specify how to connect to the process.
       typedef pbase_type::argv_type argv_type
           Type used to hold the arguments for a command.
       typedef int fd_type
           Type used for file descriptors.
       typedef int fd_type
           Type used for file descriptors.

   PublicMemberFunctionsbasic_opstream ()
           Default constructor, creates an uninitialised stream.
       basic_opstream (const std::string &cmd, pmode mode=pstdin)
           Constructor that initialises the stream by starting a process.
       basic_opstream (const std::string &file, const argv_type &argv, pmode mode=pstdin)
           Constructor that initialises the stream by starting a process.
       basic_opstream (const argv_type &argv, pmode mode=pstdin)
           Constructor that initialises the stream by starting a process.
       ~basic_opstream ()
           Destructor.
       void open (const std::string &cmd, pmode mode=pstdin)
           Start a process.
       void open (const std::string &file, const argv_type &argv, pmode mode=pstdin)
           Start a process.
       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.
       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, std::char_traits< CharT > > streambuf_type
       typedef std::basic_ios< CharT, std::char_traits< CharT > > ios_type
       enum { bufsz = 32 }
       enum { pbsz = 2 }
       enum { bufsz = 32 }
       enum { pbsz = 2 }

   ProtectedMemberFunctions
       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.

   RelatedFunctions
       (Note that these are not member functions.)
       template<typename C , typename T > std::basic_ostream< C, T > & peof (std::basic_ostream< C, T > &s)
           Manipulator to close the pipe connected to the process' stdin.

See Also