LLVM  8.0.1
Public Member Functions | List of all members
llvm::FileRemover Class Reference

FileRemover - This class is a simple object meant to be stack allocated. More...

#include "llvm/Support/FileUtilities.h"

Public Member Functions

 FileRemover ()
 
 FileRemover (const Twine &filename, bool deleteIt=true)
 
 ~FileRemover ()
 
void setFile (const Twine &filename, bool deleteIt=true)
 setFile - Give ownership of the file to the FileRemover so it will be removed when the object is destroyed. More...
 
void releaseFile ()
 releaseFile - Take ownership of the file away from the FileRemover so it will not be removed when the object is destroyed. More...
 

Detailed Description

FileRemover - This class is a simple object meant to be stack allocated.

If an exception is thrown from a region, the object removes the filename specified (if deleteIt is true).

Definition at line 40 of file FileUtilities.h.

Constructor & Destructor Documentation

◆ FileRemover() [1/2]

llvm::FileRemover::FileRemover ( )
inline

Definition at line 44 of file FileUtilities.h.

◆ FileRemover() [2/2]

llvm::FileRemover::FileRemover ( const Twine filename,
bool  deleteIt = true 
)
inlineexplicit

Definition at line 46 of file FileUtilities.h.

References llvm::Twine::toVector().

◆ ~FileRemover()

llvm::FileRemover::~FileRemover ( )
inline

Definition at line 51 of file FileUtilities.h.

References llvm::sys::fs::remove().

Member Function Documentation

◆ releaseFile()

void llvm::FileRemover::releaseFile ( )
inline

releaseFile - Take ownership of the file away from the FileRemover so it will not be removed when the object is destroyed.

Definition at line 74 of file FileUtilities.h.

◆ setFile()

void llvm::FileRemover::setFile ( const Twine filename,
bool  deleteIt = true 
)
inline

setFile - Give ownership of the file to the FileRemover so it will be removed when the object is destroyed.

If the FileRemover already had ownership of a file, remove it first.

Definition at line 61 of file FileUtilities.h.

References llvm::SmallVectorImpl< T >::clear(), llvm::sys::fs::remove(), and llvm::Twine::toVector().


The documentation for this class was generated from the following file: