OFFIS DCMTK  Version 3.6.0
Public Member Functions | Static Public Member Functions | Static Private Member Functions | Private Attributes
OFFilenameCreator Class Reference

A class for automatically creating unique pseudo-random filenames. More...

List of all members.

Public Member Functions

 OFFilenameCreator ()
 default constructor
 OFFilenameCreator (const OFFilenameCreator &copy)
 copy constructor
virtual ~OFFilenameCreator ()
 destructor
OFFilenameCreatoroperator= (const OFFilenameCreator &copy)
 assignment operator
OFBool makeFilename (unsigned int seed, const char *dir, const char *prefix, const char *postfix, OFString &filename)
 creates a new unique filename.

Static Public Member Functions

static unsigned int hashString (const char *str)
 creates hash value.
static int myrand_r (unsigned int *seed)
 simple but thread safe random number generator.

Static Private Member Functions

static void addLongToString (unsigned long l, OFString &s)
 appends the lower 32 bit of the given number to the given string.

Private Attributes

unsigned long creation_time
 date/time of creation of this object

Detailed Description

A class for automatically creating unique pseudo-random filenames.

Definition at line 39 of file offname.h.


Member Function Documentation

static void OFFilenameCreator::addLongToString ( unsigned long  l,
OFString s 
) [static, private]

appends the lower 32 bit of the given number to the given string.

Always appends exactly 8 digits (padded with leading zeroes).

Parameters:
lnumber to be appended to string
sstring to be added to
static unsigned int OFFilenameCreator::hashString ( const char *  str) [static]

creates hash value.

(i.e. random seed) from character string.

Parameters:
strnull-terminated string
Returns:
hash value
OFBool OFFilenameCreator::makeFilename ( unsigned int  seed,
const char *  dir,
const char *  prefix,
const char *  postfix,
OFString filename 
)

creates a new unique filename.

Parameters:
seedseed of random number generator
dirdirectory in which the file name should be located
prefixfilename prefix
postfixfilename postfix
filenamestring in which the filename (path) is returned
Returns:
OFTrue if successful, OFFalse if no filename could be created.
static int OFFilenameCreator::myrand_r ( unsigned int *  seed) [static]

simple but thread safe random number generator.

The interface is derived from the Posix rand_r function. Uses a multiplicative congruential random-number generator with period 2**32 that returns successive pseudo-random numbers in the range of 0 to 0x7fffffff.

Parameters:
seedpointer to seed of random number generator, must not be NULL.
Returns:
pseudo-random number in the range of 0 to 0x7fffffff.

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


Generated on Fri Jun 1 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.7.6.1