CoreComponents 3.0.0
A Modern C++ Toolkit
No Matches
TempFile Class Referencefinal

Temporary files. More...

#include <cc/TempFile>

Inheritance diagram for TempFile:

Public Member Functions

 TempFile ()
 Open a new temporary file.
- Public Member Functions inherited from File
 File ()=default
 Create a null file.
 File (const String &path, FileOpen flags=FileOpen::ReadOnly, FileMode mode=FileMode::Default)
 Open file.
bool tryOpen (const String &path, Out< File > file, FileOpen flags=FileOpen::ReadOnly, FileMode mode=FileMode::Default)
 Try to open/create a file.
String path () const
 File path this file was opened from
void truncate (off_t length)
 Truncate or extend file to length bytes.
off_t seek (off_t distance, Seek whence=Seek::Begin)
 Move the current file offset.
bool isSeekable () const
 Check if this file is seekable (e.g.
off_t currentOffset () const
 Get current file offset.
void sync ()
 Synchronise the files's state with the underlying storage device.
void dataSync ()
 Synchronise the files's content with the underlying storage device.
String readAll ()
 Read the file's entire contents.
String map ()
 Map the file's entire contents into memory
String map (off_t i0, off_t i1)
 Map the file's contents in range [i0, i1) into memory
void close ()
 Close file.
- Public Member Functions inherited from IoStream
 IoStream ()=default
 Create a null I/O stream.
 IoStream (int fd)
 Create an I/O stream for file descriptor fd.
int fd () const
 File descriptor
void close ()
 Manually close this I/O stream.
void shutdown (IoShutdown mode=IoShutdown::Full)
 Manually shutdown this I/O stream.
void duplicateTo (IoStream &other)
 Duplicate this I/O stream.
IoStream duplicate () const
 Duplicate I/O stream other.
bool isInteractive () const
 Check if this is a teletype (e.g.
void echo (bool on)
 Set echo mode of this I/O stream to on
int ioctl (int request, void *arg)
 Issue an device control request.
long scatterLimit () const
 I/O scatter limit (in bytes)
void setScatterLimit (long newLimit)
 Set the I/O scatter limit (in bytes)
- Public Member Functions inherited from Stream
 Stream ()=default
 Create a null stream.
bool waitEstablished (int timeout=-1)
 Wait until the connection is fully established.
bool wait (IoEvent event, int timeout=-1)
 Wait for an I/O event.
long read (Out< Bytes > buffer, long maxFill=-1)
 Read available bytes into buffer and return number of bytes read.
void write (const Bytes &buffer, long fill=-1)
 Write fill bytes from buffer (if fill < 0 write all bytes from buffer)
void write (const List< Bytes > &buffers)
 Write the contents of buffers in one go.
void write (const List< String > &parts)
 Convenience method, equivalent to 'write(parts.join())'.
void write (const struct iovec *iov, int iovcnt)
 Write the contents of the iov buffers in one go.
void write (const char *s)
 Write C-string s.
bool isDiscarding () const
 Return true if this stream is discarding all writes
long long transferTo (const Stream &sink, long long count, const Bytes &buffer)
 Transfer a span of bytes.
long long transferTo (const Stream &sink, long long count=-1)
 Transfer a span of bytes.
long defaultTransferUnit () const
 Default I/O buffer size.
long long skip (long long count)
 Read and discard count bytes.
void drain (const Bytes &auxBuffer=Bytes{})
 Read everything that is left.
long readSpan (Out< Bytes > buffer)
 Read fixed number of bytes.
String readSpan (long count)
 Read a fixed number of bytes.
String readAll ()
 Read the entire stream.
- Public Member Functions inherited from Object
 Object ()=default
 Create a null object.
 operator bool () const
 Check if this is a non-null object.
bool isNull () const
 Check if this is a null object.
template<class T >
bool is () const
 Check if this object is of type T.
template<class T >
as () const
 Cast this object to type T.
bool isWeak () const
 Check if the underlying object reference is weak.
bool operator== (const Object &other) const
 Equality operator.
std::strong_ordering operator<=> (const Object &other) const
 Ordering operator.
long useCount () const
 Reference count.

Additional Inherited Members

- Static Public Member Functions inherited from File
static bool access (const String &path, FileAccess mode)
 Check if file under path is accessible with mode.
static bool exists (const String &path)
 Check if a file under path exists.
static void create (const String &path, FileMode mode=FileMode::Default)
 Create a new file under path with initial permissions mode.
static void establish (const String &path, FileMode fileMode=FileMode::Default, FileMode dirMode=FileMode::DirDefault)
 Establish a new file path.
static String createUnique (const String &path, FileMode mode=FileMode::Default, char placeHolder='#')
 Create a uniquely named file.
static String createTemp (FileMode mode=FileMode::Default)
 Create a temporary file and return its path.
static void chown (const String &path, uid_t ownerId, gid_t groupId)
 Change ownership of file under path to ownerId : groupId.
static void rename (const String &oldPath, const String &newPath)
 Rename file under oldPath to newPath (moving it within the filesystem if required)
static void link (const String &oldPath, const String &newPath)
 Create a new name newPath for the file under oldPath.
static void unlink (const String &path)
 Delete the name path.
static void symlink (const String &oldPath, const String &newPath)
 Create a symbolic link under newPath pointing to oldPath.
static String readlink (const String &path)
 Read the symbolic link under path.
static void clean (const String &path)
 Remove files recursively.
static String locate (const String &fileName, const List< String > &dirs, FileAccess accessFlags=FileAccess::Exists)
 Search for a file in a list of directories.
static String load (const String &path)
 Load contents of file under path.
static void save (const String &path, const String &text)
 Replace contents of file under path by text.
static void setTimes (const String &path, double lastAccess, double lastModified, bool followSymlink=true)
 Set the file times
- Static Public Member Functions inherited from IoStream
static IoStreaminput ()
 Standard input stream.
static IoStreamoutput ()
 Standard output stream.
static IoStreamerror ()
 Standard error stream.
static void pair (Out< IoStream > a, Out< IoStream > b)
 Establish a full-duplex communication channel between a and b.
- Protected Member Functions inherited from IoStream
 IoStream (State *newState)
State & me ()
const State & me () const
- Protected Member Functions inherited from Stream
 Stream (State *newState)
Stateme ()
const Stateme () const
- Protected Member Functions inherited from Object
template<class T >
weak () const
template<class T >
void initOnce ()
 Create the object state when called the first time.
template<class T >
void initOncePerThread ()
 Create a distinct object state for each thread when called the first time in that thread.
 Object (State *newState)
 Initialize object with newState.
 Object (State *state, Alias)
 Object (State *state, Weak)
Objectoperator= (std::nullptr_t)
- Static Protected Member Functions inherited from Object
template<class T >
static T alias (const State *state)
 Create an alias object for the given state.
template<class T >
static T weak (const State *state)
- Protected Attributes inherited from Object
Handle< Stateme
 Internal object state

Detailed Description

Temporary files.

Constructor & Destructor Documentation

◆ TempFile()

TempFile ( )

Open a new temporary file.