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

FBB::TempStream - Temporary fstream

Author

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

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

Bobcat

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

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;

Bugs

       None reported.

Constructors

       o      TempStream(std::stringconst&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.

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

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

Inherits From

std::fstream

Member Functions

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

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

Name

       FBB::TempStream - Temporary fstream

Namespace

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

See Also

bobcat(7), mkostemp(3)

Synopsis

#include<bobcat/tempstream>

See Also