std::experimental::filesystem::path::generic_string,generic_wstring,generic_u8string,...
From cppreference.com
                    
                                        
                    < cpp | experimental/fs | path
                    
                                                            
                    | template< class CharT, class Traits = std::char_traits<CharT>           class Alloc = std::allocator<CharT> > | (1) | (filesystem TS) | 
| (2) | (filesystem TS) | |
| std::string generic_string() const; | ||
| std::wstring generic_wstring() const; | ||
| std::u8string generic_u8string() const; | ||
| std::u16string generic_u16string() const; | ||
| std::u32string generic_u32string() const; | ||
Returns the internal pathname in generic pathname format, converted to specific string type. Conversion, if any, is specified in todo. The / character is used as the directory separator. 
1) All memory allocations are performed by 
a.
2) The encoding in the case of 
u8string() is always UTF-8.| Contents | 
[edit] Parameters
| a | - | allocator to construct the string with | 
| - CharTmust be one of the encoded character types (char, wchar_t, char16_t and char32_t) | ||
[edit] Return value
The internal pathname in generic pathname format, converted to specified string type.
[edit] Exceptions
(none)
[edit] See also
| returns the path in native pathname format converted to a string (public member function) | |