BDE 4.39.x Production Release
Loading...
Searching...
No Matches
bdls::TempDirectoryGuard Class Reference

#include <bdls_tempdirectoryguard.h>

Detailed Description

This class implements a scoped temporary directory guard. The guard tries to create a temporary directory in the system-wide temp directory and falls back to the current directory.

See bdls_tempdirectoryguard

Public Member Functions

 BSLMF_NESTED_TRAIT_DECLARATION (TempDirectoryGuard, bslma::UsesBslmaAllocator)
 
 TempDirectoryGuard (const bsl::string_view &prefix, bslma::Allocator *basicAllocator=0)
 
 ~TempDirectoryGuard ()
 
void release ()
 
const bsl::stringgetTempDirName () const
 

Constructor & Destructor Documentation

◆ TempDirectoryGuard()

bdls::TempDirectoryGuard::TempDirectoryGuard ( const bsl::string_view prefix,
bslma::Allocator basicAllocator = 0 
)
explicit

Create temporary directory with the specified prefix in the system-wide temp or current directory. Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used.

◆ ~TempDirectoryGuard()

bdls::TempDirectoryGuard::~TempDirectoryGuard ( )

Destroy this object and remove the temporary directory (recursively) created at construction.

Member Function Documentation

◆ BSLMF_NESTED_TRAIT_DECLARATION()

bdls::TempDirectoryGuard::BSLMF_NESTED_TRAIT_DECLARATION ( TempDirectoryGuard  ,
bslma::UsesBslmaAllocator   
)

◆ getTempDirName()

const bsl::string & bdls::TempDirectoryGuard::getTempDirName ( ) const

Return a const reference to the name of the created temporary directory, or an empty string if the directory was released from management.

◆ release()

void bdls::TempDirectoryGuard::release ( )

Remove the created temporary directory from management so that, upon this guards destruction, the created directory is not removed. Calling release on a guard that has previously been released has no effect.


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