6 #include "../core_export.h" 8 #include "../ustring.h" 46 template<
typename char_t>
56 static char alt_directory_separator_char() noexcept;
64 template<
typename char_t>
66 return static_cast<char_t
>(directory_separator_char());
75 static char directory_separator_char() noexcept;
81 template<
typename char_t>
88 static char path_separator() noexcept;
94 template<
typename char_t>
101 static char volume_separator_char() noexcept;
133 template<
typename type1_t,
typename type2_t,
typename type3_t>
134 static auto combine(type1_t path1, type2_t path2, type3_t path3) noexcept {
135 return combine(combine(path1, path2), path3);
145 template<
typename type1_t,
typename type2_t,
typename type3_t,
typename type4_t>
146 static auto combine(type1_t path1, type2_t path2, type3_t path3, type4_t path4) noexcept {
147 return combine(combine(combine(path1, path2), path3), path4);
154 template<
typename path_t>
157 std::for_each(paths.begin(), paths.end(), [&](
auto path) {result = combine(result, path);});
165 static xtd::ustring combine(
const std::initializer_list<xtd::ustring>& paths) noexcept;
195 template<
typename char_t>
196 static std::vector<char_t>
get_invalid_path_chars() noexcept {
return {34, 60, 62, 124, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0};}
201 static std::vector<char> get_invalid_path_chars() noexcept;
220 static xtd::ustring get_random_file_name(
size_t name_length);
226 static xtd::ustring get_random_file_name(
size_t name_size,
size_t extension_size);
260 static bool __is_drive(
const xtd::ustring& path) noexcept;
#define static_
This keyword is use to represent a static object. A static object can't be instantiated (constructors...
Definition: static.h:37
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
static std::vector< char_t > get_invalid_path_chars() noexcept
Gets an array containing the characters that are not allowed in path names.
Definition: path.h:196
Contains xtd::io::file class.
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
static auto combine(type1_t path1, type2_t path2, type3_t path3, type4_t path4) noexcept
Combines four path strings.
Definition: path.h:146
static char_t directory_separator_char() noexcept
Provides a platform-specific character used to separate directory levels in a path string that reflec...
Definition: path.h:65
static char_t path_separator() noexcept
A platform-specific separator character used to separate path strings in environment variables...
Definition: path.h:82
Performs operations on std::basic_string instances that contain file or directory path information...
Definition: path.h:34
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
static char_t volume_separator_char() noexcept
Provides a platform-specific volume separator character.
Definition: path.h:95
static char_t alt_directory_separator_char() noexcept
Provides a platform-specific alternate character used to separate directory levels in a path string t...
Definition: path.h:47
static auto combine(type1_t path1, type2_t path2, type3_t path3) noexcept
Combines three path strings.
Definition: path.h:134
static xtd::ustring combine(path_t paths) noexcept
Combines path strings array.
Definition: path.h:155