STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... ATLSTL - Template Software for the Active Template Library COMSTL - The Standard Template Library meets the Component Object Model .netSTL - Standard Template Library meets the Microsoft.NET Common Language Runtime InetSTL - The Standard Template Library meets WinInet MFCSTL - Template Software for the Microsoft Foundation Classes UNIXSTL - Template Software for the UNIX Operating System WinSTL - where the Standard Template Library meets the Win32 API

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

filesystem_traits Struct Template Reference
[File-System Library (WinSTL)]

Traits for accessing the correct file-system functions for a given character type. More...

#include <winstl_filesystem_traits.h>

List of all members.

Public Types

typedef C char_type
 The character type.

typedef ws_size_t size_type
 The size type.

typedef ws_ptrdiff_t difference_type
 The difference type.

typedef WIN32_FIND_DATA find_data_type
 The find data type.

enum  { maxPathLength = 1 + _MAX_PATH }

Static Public Methods

char_typestr_copy (char_type *dest, char_type const *src)
 Copies the contents of src to dest.

char_typestr_n_copy (char_type *dest, char_type const *src, ws_size_t cch)
 Copies the contents of src to dest, up to cch characters.

char_typestr_cat (char_type *dest, char_type const *src)
 Appends the contents of src to dest.

ws_int_t str_compare (char_type const *s1, char_type const *s2)
 Comparies the contents of src and dest.

ws_int_t str_compare_no_case (char_type const *s1, char_type const *s2)
 Comparies the contents of src and dest in a case-insensitive fashion.

size_type str_len (char_type const *src)
 Evaluates the length of src.

char_typestr_chr (char_type const *s, char_type ch)
 Finds the given character ch in s.

char_typestr_rchr (char_type const *s, char_type ch)
 Finds the rightmost instance ch in s.

char_typestr_str (char_type const *s, char_type const *sub)
 Finds the given substring sub in s.

char_typeensure_dir_end (char_type *dir)
 Appends a path name separator to dir if one does not exist.

char_typeremove_dir_end (char_type *dir)
 Removes the path name separator from the end of dir, if it has it.

ws_bool_t has_dir_end (char_type const *dir)
 Returns true if dir has trailing path name separator.

ws_bool_t is_dots (char_type const *dir)
 Returns true if dir is "." or "..".

ws_bool_t is_path_rooted (char_type const *path)
 Returns true if path is rooted.

ws_bool_t is_path_absolute (char_type const *path)
 Returns true if path is an absolute path.

char_type path_separator ()
 Returns the path separator.

char_type path_name_separator ()
 Returns the path name separator.

char_type const * pattern_all ()
 Returns the wildcard pattern that represents all possible matches.

ws_size_t path_max ()
 The maximum length of a path on the file-system.

ws_dword_t get_full_path_name (char_type const *fileName, ws_dword_t cchBuffer, char_type *buffer, char_type **ppFile)
 Gets the full path name into the given buffer, returning a pointer to the file-part.

ws_dword_t get_full_path_name (char_type const *fileName, ws_dword_t cchBuffer, char_type *buffer)
 Gets the full path name into the given buffer.

ws_dword_t get_short_path_name (char_type const *fileName, char_type *buffer, ws_dword_t cchBuffer)
 Gets the short path name into the given buffer.

HANDLE find_first_file (char_type const *spec, find_data_type *findData)
 Initiate a file-system search.

HANDLE find_first_file_ex (char_type const *spec, FINDEX_SEARCH_OPS flags, find_data_type *findData)
 Initiate a file-system search - NT4+-only.

ws_bool_t find_next_file (HANDLE h, find_data_type *findData)
 Advance a given file-system search.

void find_file_close (HANDLE h)
 Closes the handle of the file-system search.

HANDLE find_first_volume (char_type *volume_name, size_type cch_volume_name)
 Initiate a file-system volume search.

ws_bool_t find_next_volume (HANDLE h, char_type *volume_name, size_type cch_volume_name)
 Advance a given file-system volume search.

void find_volume_close (HANDLE h)
 Closes the handle of the file-volume search.

ws_dword_t get_module_filename (HINSTANCE hModule, char_type *buffer, ws_dword_t cchBuffer)
 Gets the full path name of the given module.

ws_uint_t get_system_directory (char_type *buffer, ws_uint_t cchBuffer)
 Gets the full path name of the system directory.

ws_uint_t get_windows_directory (char_type *buffer, ws_uint_t cchBuffer)
 Gets the full path name of the windows directory.

HINSTANCE load_library (char_type const *name)
 Loads the given executable module.

ws_bool_t free_library (HINSTANCE hinst)
 Closes the given executable module.

ws_bool_t set_current_directory (char_type const *dir)
 Sets the current directory to dir.

ws_uint_t get_current_directory (ws_uint_t cchBuffer, char_type *buffer)
 Retrieves the name of the current directory into buffer up to a maximum of cchBuffer characters.

ws_bool_t file_exists (char_type const *fileName)
 Returns whether a file exists or not.

ws_bool_t is_file (char_type const *path)
 Returns whether the given path represents a file.

ws_bool_t is_directory (char_type const *path)
 Returns whether the given path represents a directory.

ws_bool_t create_directory (char_type const *dir)
 Creates a directory.

ws_bool_t remove_directory (char_type const *dir)
 Deletes a directory.

ws_bool_t delete_file (char_type const *file)
 Delete a file.

ws_bool_t rename_file (char_type const *currentName, char_type const *newName)
 Rename a file.

ws_dword_t get_environment_variable (char_type const *name, char_type *buffer, ws_uint_t cchBuffer)
 Gets an environment variable into the given buffer.

ws_dword_t expand_environment_strings (char_type const *src, char_type *buffer, ws_uint_t cchBuffer)
 Expands environment strings in src into \dest, up to a maximum cchDest characters.


Detailed Description

template<typename C>
struct winstl::filesystem_traits< C >

Traits for accessing the correct file-system functions for a given character type.

filesystem_traits is a traits class for determining the correct file-system structures and functions for a given character type.

Parameters:
C  The character type


Member Typedef Documentation

typedef C char_type
 

The character type.

typedef ws_ptrdiff_t difference_type
 

The difference type.

typedef WIN32_FIND_DATA find_data_type
 

The find data type.

typedef ws_size_t size_type
 

The size type.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
maxPathLength  The maximum length of a path for the current file system.


Member Function Documentation

ws_bool_t create_directory char_type const *    dir [static]
 

Creates a directory.

ws_bool_t delete_file char_type const *    file [static]
 

Delete a file.

char_type* ensure_dir_end char_type   dir [static]
 

Appends a path name separator to dir if one does not exist.

See also:
path_name_separator()

ws_dword_t expand_environment_strings char_type const *    src,
char_type   buffer,
ws_uint_t    cchBuffer
[static]
 

Expands environment strings in src into \dest, up to a maximum cchDest characters.

ws_bool_t file_exists char_type const *    fileName [static]
 

Returns whether a file exists or not.

void find_file_close HANDLE    h [static]
 

Closes the handle of the file-system search.

HANDLE find_first_file char_type const *    spec,
find_data_type   findData
[static]
 

Initiate a file-system search.

HANDLE find_first_file_ex char_type const *    spec,
FINDEX_SEARCH_OPS    flags,
find_data_type   findData
[static]
 

Initiate a file-system search - NT4+-only.

HANDLE find_first_volume char_type   volume_name,
size_type    cch_volume_name
[static]
 

Initiate a file-system volume search.

ws_bool_t find_next_file HANDLE    h,
find_data_type   findData
[static]
 

Advance a given file-system search.

ws_bool_t find_next_volume HANDLE    h,
char_type   volume_name,
size_type    cch_volume_name
[static]
 

Advance a given file-system volume search.

void find_volume_close HANDLE    h [static]
 

Closes the handle of the file-volume search.

ws_bool_t free_library HINSTANCE    hinst [static]
 

Closes the given executable module.

ws_uint_t get_current_directory ws_uint_t    cchBuffer,
char_type   buffer
[static]
 

Retrieves the name of the current directory into buffer up to a maximum of cchBuffer characters.

ws_dword_t get_environment_variable char_type const *    name,
char_type   buffer,
ws_uint_t    cchBuffer
[static]
 

Gets an environment variable into the given buffer.

ws_dword_t get_full_path_name char_type const *    fileName,
ws_dword_t    cchBuffer,
char_type   buffer
[static]
 

Gets the full path name into the given buffer.

ws_dword_t get_full_path_name char_type const *    fileName,
ws_dword_t    cchBuffer,
char_type   buffer,
char_type **    ppFile
[static]
 

Gets the full path name into the given buffer, returning a pointer to the file-part.

ws_dword_t get_module_filename HINSTANCE    hModule,
char_type   buffer,
ws_dword_t    cchBuffer
[static]
 

Gets the full path name of the given module.

ws_dword_t get_short_path_name char_type const *    fileName,
char_type   buffer,
ws_dword_t    cchBuffer
[static]
 

Gets the short path name into the given buffer.

ws_uint_t get_system_directory char_type   buffer,
ws_uint_t    cchBuffer
[static]
 

Gets the full path name of the system directory.

ws_uint_t get_windows_directory char_type   buffer,
ws_uint_t    cchBuffer
[static]
 

Gets the full path name of the windows directory.

ws_bool_t has_dir_end char_type const *    dir [static]
 

Returns true if dir has trailing path name separator.

See also:
path_name_separator()

ws_bool_t is_directory char_type const *    path [static]
 

Returns whether the given path represents a directory.

ws_bool_t is_dots char_type const *    dir [static]
 

Returns true if dir is "." or "..".

ws_bool_t is_file char_type const *    path [static]
 

Returns whether the given path represents a file.

ws_bool_t is_path_absolute char_type const *    path [static]
 

Returns true if path is an absolute path.

ws_bool_t is_path_rooted char_type const *    path [static]
 

Returns true if path is rooted.

HINSTANCE load_library char_type const *    name [static]
 

Loads the given executable module.

ws_size_t path_max   [static]
 

The maximum length of a path on the file-system.

Note:
Because not all systems support fixed maximum path lengths, the value of this function is notionally dynamic

char_type path_name_separator   [static]
 

Returns the path name separator.

This is the separator that is used to separate parts of a path on the operating system. On UNIX it is '/'

char_type path_separator   [static]
 

Returns the path separator.

This is the separator that is used to separate multiple paths on the operating system. On UNIX it is ':'

char_type const* pattern_all   [static]
 

Returns the wildcard pattern that represents all possible matches.

Note:
On Win32 it is '*.*'

char_type* remove_dir_end char_type   dir [static]
 

Removes the path name separator from the end of dir, if it has it.

See also:
path_name_separator()

ws_bool_t remove_directory char_type const *    dir [static]
 

Deletes a directory.

ws_bool_t rename_file char_type const *    currentName,
char_type const *    newName
[static]
 

Rename a file.

ws_bool_t set_current_directory char_type const *    dir [static]
 

Sets the current directory to dir.

char_type* str_cat char_type   dest,
char_type const *    src
[static]
 

Appends the contents of src to dest.

char_type* str_chr char_type const *    s,
char_type    ch
[static]
 

Finds the given character ch in s.

ws_int_t str_compare char_type const *    s1,
char_type const *    s2
[static]
 

Comparies the contents of src and dest.

ws_int_t str_compare_no_case char_type const *    s1,
char_type const *    s2
[static]
 

Comparies the contents of src and dest in a case-insensitive fashion.

char_type* str_copy char_type   dest,
char_type const *    src
[static]
 

Copies the contents of src to dest.

size_type str_len char_type const *    src [static]
 

Evaluates the length of src.

char_type* str_n_copy char_type   dest,
char_type const *    src,
ws_size_t    cch
[static]
 

Copies the contents of src to dest, up to cch characters.

char_type* str_rchr char_type const *    s,
char_type    ch
[static]
 

Finds the rightmost instance ch in s.

char_type* str_str char_type const *    s,
char_type const *    sub
[static]
 

Finds the given substring sub in s.


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

STLSoft Libraries documentation © Synesis Software Pty Ltd, 2001-2004