class MICROSOFT_PATH_NAME
Summary
Class invariant
Overview
creation features
features
Creation
Constants
Access
Operations
  • to_absolute
    Transform into equivalent absolute path
  • normalize
    Normalize removing double separators, and up-references
  • normalize_case
    Transform into normalized case version (equivalent), with standard path separators
  • remove_last
    Remove last component of path (keep the "dirname")
  • add_last (elem: STRING)
  • expand_user
    Replace an initial "~" or "~user" by user home directory
  • expand_shellouts
    Replace substrings of form $(command) with execution of shell commands
Copying, comparison
  • copy (other: MICROSOFT_PATH_NAME)
    Update current object using fields of object attached to other, so as to yield equal objects.
  • is_equal (other: MICROSOFT_PATH_NAME): BOOLEAN
    Is other attached to an object considered equal to current object?
Representation
  • start_join (a_drive: STRING, absoluteness: INTEGER_32)
    Start joining an absolute path to Current
    drive is optional absoluteness is, e.g., the number of leading slashes:
      0 for relative paths
      1 for absolute paths
      more for super-absolute paths (for instance, network-wide)
    
  • join_element (element: STRING)
    Add an unspecified element (directory or file) to the end of the path
  • end_join
    Finish joining the path
Representation
Internal
Access
Operations
Creation/ Initialization
Access
Operations
  • join (other: PATH_NAME)
    Join with other using filesystem semantics
  • expand_variables
    Replace substrings of form $name or ${name} with environment variable values
make_empty
effective procedure
Make a 'null' path
make_root
effective procedure
Path to root directory (in current drive)
make_current
effective procedure
Path to current directory (relative).
make_from_string (s: STRING)
effective procedure
up_directory: STRING
constant attribute
this_directory: STRING
constant attribute
extension_separator: CHARACTER
constant attribute
Character used to separate filenames from extensions
directory_separator: CHARACTER
constant attribute
Character used to separate directories This character is forbidden in filenames
drive_separator: CHARACTER
constant attribute
to_string: STRING
effective function
String representation
drive_specification: STRING
effective function
Drive specified by the current path, Void if none
count: INTEGER_32
effective function
Number of elements in_path
last: STRING
effective function
Last component (also known as "basename")
extension: STRING
effective function
Path extension (may be empty)
is_absolute: BOOLEAN
effective function
absolute path?
is_normalized: BOOLEAN
effective function
Has no redundant separators, or redundant up-references
is_separator (ch: CHARACTER): BOOLEAN
effective function
Is ch a possible path separator?
is_valid_path (a_path: STRING): BOOLEAN
effective function
Does path represent a syntactically valid file or directory path?
is_valid_file_name (elem: STRING): BOOLEAN
effective function
Does path only contain valid characters for a file?
exists: BOOLEAN
effective function
 local
  i: FILE_INFORMATION
same_file (other: MICROSOFT_PATH_NAME): BOOLEAN
effective function
 local
  i, j: FILE_INFORMATION
to_absolute
effective procedure
Transform into equivalent absolute path
normalize
effective procedure
Normalize removing double separators, and up-references
normalize_case
effective procedure
Transform into normalized case version (equivalent), with standard path separators
remove_last
effective procedure
Remove last component of path (keep the "dirname")
add_last (elem: STRING)
effective procedure
expand_user
effective procedure
Replace an initial "~" or "~user" by user home directory
expand_shellouts
effective procedure
Replace substrings of form $(command) with execution of shell commands
copy (other: MICROSOFT_PATH_NAME)
effective procedure
Update current object using fields of object attached to other, so as to yield equal objects.
is_equal (other: MICROSOFT_PATH_NAME): BOOLEAN
effective function
Is other attached to an object considered equal to current object?
drive: CHARACTER
writable attribute
Drive letter, or if none
start_join (a_drive: STRING, absoluteness: INTEGER_32)
effective procedure
Start joining an absolute path to Current
drive is optional absoluteness is, e.g., the number of leading slashes:
  0 for relative paths
  1 for absolute paths
  more for super-absolute paths (for instance, network-wide)
join_element (element: STRING)
effective procedure
Add an unspecified element (directory or file) to the end of the path
end_join
effective procedure
Finish joining the path
no_drive: CHARACTER
constant attribute
to_string_cache: STRING
writable attribute
valid_cache: BOOLEAN
writable attribute
tmp: MICROSOFT_PATH_NAME
once function
start_join_to (other: PATH_JOINER): INTEGER_32
effective function
is_valid_directory: BOOLEAN
constant attribute
Does Current represent a syntactically valid directory path?
is_valid_file: BOOLEAN
effective function
Does Current represent a syntactically valid directory path?
go_up
effective procedure
Go up by one directory
join_to (other: PATH_JOINER)
effective procedure
join_extension (an_extension: STRING)
effective procedure
Add an extension to the last element of the path
join_error: BOOLEAN
constant attribute
Did an error occur during joining
path: STRING
writable attribute
scan_element (p: INTEGER_32, element: STRING): INTEGER_32
effective function
join_directory_to (other: PATH_JOINER, element: STRING)
effective procedure
join_element_to (other: PATH_JOINER, element: STRING)
effective procedure
make_from_path_name (pn: PATH_NAME)
effective procedure
is_empty: BOOLEAN
effective function
Path is null.
as_absolute: MICROSOFT_PATH_NAME
effective function
Equivalent absolute path
is_file: BOOLEAN
effective function
Path points to an existing regular file?
is_directory: BOOLEAN
effective function
Path points to an existing directory?
infix "+" (other: MICROSOFT_PATH_NAME): MICROSOFT_PATH_NAME
effective function
Join with other using filesystem semantics
infix "/" (elem: STRING): MICROSOFT_PATH_NAME
effective function
Path with elem inside current
join (other: PATH_NAME)
effective procedure
Join with other using filesystem semantics
expand_variables
effective procedure
Replace substrings of form $name or ${name} with environment variable values
join_up
effective procedure
Go up one directory
join_directory (element: STRING)
effective procedure
Add a directory to the end of the path
join_file (element: STRING)
effective procedure
Add a file to the end of the path