Provided by: libbobcat-dev_6.11.00-1_amd64 bug

NAME

       FBB::TempStream - Temporary fstream

SYNOPSIS

       #include <bobcat/tempstream>

DESCRIPTION

       FBB::TempStream  objects  are  temporary  std::fstreams opened with mode 0600 (user only read+write). The
       file created by a TempStream object is removed from the file system once the TempStream object  goes  out
       of scope.

       A  TempStream  object  creates  an  empty  file,  and  information  can  immediately be inserted into the
       TempStream object. To switch between insertion and extraction simply call seekg (for extraction) or seekp
       (for insertion).

       TempStream calls mkostemp(3) to construct the temporary file, which uses an extension of  six  characters
       beyond the base name specified as argument to TempStream’s constructor.

NAMESPACE

       FBB
       All  constructors,  members,  operators  and manipulators, mentioned in this man-page, are defined in the
       namespace FBB.

INHERITS FROM

       std::fstream

CONSTRUCTORS

       o      TempStream(std::string const &base = "/tmp/FBB::TempStream"):
              The constructor initializes the object and creates a file with the given base-name  to  which  six
              random  characters  are  appended. If the TempStream could not be constructed an FBB::Exception is
              thrown.

       Copy and move constructors (and assignment operators) are not available.

MEMBER FUNCTIONS

       All std::fstream members are available,  as  FBB::TempStream  inherits  from  this  class.  In  addition,
       TempStream itself offers

       o      std::string const &fileName() const:
              The name of the created temporary file.

       o      std::string const &filename() const:
              The name of the created temporary file.

EXAMPLE

           #include <iostream>
           #include <bobcat/tempstream>

           using namespace std;
           using namespace FBB;

           int main()
           {
               TempStream ts("/tmp/demo");

               ts << "Hello world\n";

               ts.seekg(0);
               string line;
               getline(ts, line);
               cout << line << ", removed: " << ts.fileName() << ’\n’;
           }

FILES

       bobcat/tempstream - defines the class interface

SEE ALSO

       bobcat(7), mkostemp(3)

BUGS

       None reported.

BOBCAT PROJECT FILES

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       Debian Bobcat project files:

       o      libbobcat6: debian package containing the shared library, changelog and copyright note;

       o      libbobcat-dev:  debian package containing the static library, headers, manual pages, and developer
              info;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT

       This is free software, distributed under the terms of the GNU General Public License (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).

libbobcat-dev_6.11.00                               2005-2025                           FBB::TempStream(3bobcat)