@@ -41,6 +41,27 @@ class path {
4141
4242 // MARK: string conversions
4343
44+ auto wstring () const { return path_.wstring (); }
45+ auto generic_string () const { return path_.generic_string (); }
46+ auto generic_wstring () const { return path_.generic_wstring (); }
47+ auto generic_u8string () const { return path_.generic_u8string (); }
48+ auto generic_u16string () const { return path_.generic_u16string (); }
49+ auto generic_u32string () const { return path_.generic_u32string (); }
50+ auto string () const { return path_.string (); }
51+ auto native () const noexcept { return path_.native (); }
52+ auto u8string () const { return path_.u8string (); }
53+ auto u16string () const { return path_.u16string (); }
54+ auto u32string () const { return path_.u32string (); }
55+ const auto c_str () const noexcept { return path_.c_str (); }
56+
57+ const std::filesystem::path& native_path () const { return path_; }
58+
59+ static constexpr auto preferred_separator = std::filesystem::path::preferred_separator;
60+
61+ bool empty () const noexcept { return path_.empty (); }
62+ bool is_absolute () const { return path_.is_absolute (); }
63+ bool is_relative () const { return path_.is_relative (); }
64+
4465#if defined(TARGET_WIN32) // superfluous but usefull to facilitate testing on mac/linux
4566
4667 // TODO better (ideal) impl this just copy-pasted for proof of concept
@@ -65,26 +86,7 @@ class path {
6586 explicit operator const std::filesystem::path::string_type () const { return path_.string (); }
6687#endif
6788
68- auto wstring () const { return path_.wstring (); }
69- auto generic_string () const { return path_.generic_string (); }
70- auto generic_wstring () const { return path_.generic_wstring (); }
71- auto generic_u8string () const { return path_.generic_u8string (); }
72- auto generic_u16string () const { return path_.generic_u16string (); }
73- auto generic_u32string () const { return path_.generic_u32string (); }
74- auto string () const { return path_.string (); }
75- auto native () const noexcept { return path_.native (); }
76- auto u8string () const { return path_.u8string (); }
77- auto u16string () const { return path_.u16string (); }
78- auto u32string () const { return path_.u32string (); }
79- const auto c_str () const noexcept { return path_.c_str (); }
80-
81- const std::filesystem::path& native_path () const { return path_; }
82-
83- static constexpr auto preferred_separator = std::filesystem::path::preferred_separator;
84-
85- bool empty () const noexcept { return path_.empty (); }
86- bool is_absolute () const { return path_.is_absolute (); }
87- bool is_relative () const { return path_.is_relative (); }
89+
8890
8991 // MARK: std::filesystem forwards
9092 bool exists () const { return std::filesystem::exists (path_); }
0 commit comments