DCMTK  Version 3.6.6
OFFIS DICOM Toolkit
Public Member Functions | Private Attributes | List of all members
OFFilename Class Reference

class for managing filenames consisting either of conventional (8-bit) or wide (e.g. 16-bit) characters. More...

Public Member Functions

 OFFilename ()
 default constructor
 
 OFFilename (const char *filename, const OFBool convert=OFFalse)
 constructor expecting a conventional character string More...
 
 OFFilename (const OFString &filename, const OFBool convert=OFFalse)
 constructor expecting a character string as an OFString instance More...
 
 OFFilename (const OFpath &path, const OFBool convert=OFFalse)
 constructor expecting an OFpath instance More...
 
 OFFilename (const wchar_t *filename, const OFBool convert=OFTrue)
 constructor expecting a wide character string More...
 
 OFFilename (const OFFilename &arg)
 copy constructor More...
 
 ~OFFilename ()
 destructor. More...
 
OFFilenameoperator= (const OFFilename &arg)
 assignment operator More...
 
void clear ()
 clear currently stored filename
 
void swap (OFFilename &arg)
 fast, non-throwing swap function. More...
 
OFBool isEmpty () const
 checks whether this object stores an empty filename More...
 
OFBool usesWideChars () const
 checks whether this object stores a wide character filename More...
 
const char * getCharPointer () const
 get stored filename consisting of conventional characters More...
 
const wchar_t * getWideCharPointer () const
 get stored filename consisting of wide characters More...
 
void set (const char *filename, const OFBool convert=OFFalse)
 replace currently stored filename by given value More...
 
void set (const OFString &filename, const OFBool convert=OFFalse)
 replace currently stored filename by given value More...
 
void set (const OFpath &path, const OFBool convert=OFFalse)
 replace currently stored filename by given value More...
 
void set (const wchar_t *filename, const OFBool convert=OFTrue)
 replace currently stored filename by given value More...
 

Private Attributes

char * filename_
 filename consisting of conventional characters (8-bit, e.g. UTF-8)
 
wchar_t * wfilename_
 filename consisting of wide characters (e.g. More...
 

Detailed Description

class for managing filenames consisting either of conventional (8-bit) or wide (e.g. 16-bit) characters.

The wide character support is currently Windows-specific because most other operating systems use UTF-8, which is compatible with conventional 8-bit character strings.

Constructor & Destructor Documentation

◆ OFFilename() [1/5]

OFFilename::OFFilename ( const char *  filename,
const OFBool  convert = OFFalse 
)

constructor expecting a conventional character string

Parameters
filenamefilename to be stored (8-bit characters, e.g. UTF-8)
convertconvert given filename to wide character encoding as an alternative representation. Only works on Windows systems.

◆ OFFilename() [2/5]

OFFilename::OFFilename ( const OFString filename,
const OFBool  convert = OFFalse 
)

constructor expecting a character string as an OFString instance

Parameters
filenamefilename to be stored (8-bit characters, e.g. UTF-8)
convertconvert given filename to wide character encoding as an alternative representation. Only works on Windows systems.

◆ OFFilename() [3/5]

OFFilename::OFFilename ( const OFpath path,
const OFBool  convert = OFFalse 
)

constructor expecting an OFpath instance

Parameters
pathOFpath instance storing a filename in native format (currently, identical to an 8-bit character string)
convertconvert given filename to wide character encoding as an alternative representation. Only works on Windows systems.

◆ OFFilename() [4/5]

OFFilename::OFFilename ( const wchar_t *  filename,
const OFBool  convert = OFTrue 
)

constructor expecting a wide character string

Remarks
This constructor is only available if DCMTK is compiled on Windows Operating Systems with wide chars enabled (defining _WIN32 as well as WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION).
Parameters
filenamefilename to be stored (e.g. 16-bit characters)
convertconvert given filename to UTF-8 encoding as an alternative representation. Only works on Windows systems.

◆ OFFilename() [5/5]

OFFilename::OFFilename ( const OFFilename arg)

copy constructor

Parameters
argfilename object to be copied

◆ ~OFFilename()

OFFilename::~OFFilename ( )

destructor.

Frees memory.

Member Function Documentation

◆ getCharPointer()

const char* OFFilename::getCharPointer ( ) const
inline

get stored filename consisting of conventional characters

Returns
filename (might be NULL if none is stored)

◆ getWideCharPointer()

const wchar_t* OFFilename::getWideCharPointer ( ) const
inline

get stored filename consisting of wide characters

Remarks
This method is only available if DCMTK is compiled on Windows Operating Systems with wide chars enabled (defining _WIN32 as well as WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION).
Returns
wide char filename (might be NULL if none is stored)

◆ isEmpty()

OFBool OFFilename::isEmpty ( ) const

checks whether this object stores an empty filename

Returns
OFTrue if the filename is empty, OFFalse otherwise

◆ operator=()

OFFilename& OFFilename::operator= ( const OFFilename arg)

assignment operator

Parameters
argfilename object to be copied
Returns
reference to this filename object

◆ set() [1/4]

void OFFilename::set ( const char *  filename,
const OFBool  convert = OFFalse 
)

replace currently stored filename by given value

Parameters
filenamefilename to be stored (8-bit characters, e.g. UTF-8)
convertconvert given filename to wide character encoding as an alternative representation. Only works on Windows systems.

◆ set() [2/4]

void OFFilename::set ( const OFpath path,
const OFBool  convert = OFFalse 
)

replace currently stored filename by given value

Parameters
OFpathOFpath instance storing a filename in native format (currently, identical to an 8-bit character string)
convertconvert given filename to wide character encoding as an alternative representation). Only works on Windows systems.

◆ set() [3/4]

void OFFilename::set ( const OFString filename,
const OFBool  convert = OFFalse 
)

replace currently stored filename by given value

Parameters
filenamefilename to be stored (8-bit characters, e.g. UTF-8)
convertconvert given filename to wide character encoding as an alternative representation). Only works on Windows systems.

◆ set() [4/4]

void OFFilename::set ( const wchar_t *  filename,
const OFBool  convert = OFTrue 
)

replace currently stored filename by given value

Remarks
This method is only available if DCMTK is compiled on Windows Operating Systems with wide chars enabled (defining _WIN32 as well as WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION).
Parameters
filenamefilename to be stored (e.g. 16-bit characters)
convertconvert given filename to UTF-8 encoding as an alternative representation. Only works on Windows systems.

◆ swap()

void OFFilename::swap ( OFFilename arg)

fast, non-throwing swap function.

The time complexity of this function is constant.

Parameters
argfilename object to swap with

◆ usesWideChars()

OFBool OFFilename::usesWideChars ( ) const
inline

checks whether this object stores a wide character filename

Returns
OFTrue if the filename uses wide characters, OFFalse otherwise

Member Data Documentation

◆ wfilename_

wchar_t* OFFilename::wfilename_
private

filename consisting of wide characters (e.g.

16-bit on Windows)

Remarks
This member is only available if DCMTK is compiled on Windows Operating Systems with wide chars enabled (defining _WIN32 as well as WIDE_CHAR_FILE_IO_FUNCTIONS or WIDE_CHAR_MAIN_FUNCTION).

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


Generated on Thu Jan 14 2021 for DCMTK Version 3.6.6 by Doxygen 1.8.18