| Technical Specification | ||||
| Filesystem library(filesystem TS) | ||||
| Library fundamentals(library fundamentals TS) | ||||
| Library fundamentals 2(library fundamentals TS v2) | ||||
| Library fundamentals 3(library fundamentals TS v3) | ||||
| Extensions for parallelism(parallelism TS) | ||||
| Extensions for parallelism 2(parallelism TS v2) | ||||
| Extensions for concurrency(concurrency TS) | ||||
| Extensions for concurrency 2(concurrency TS v2) | ||||
| Concepts(concepts TS) | ||||
| Ranges(ranges TS) | ||||
| Reflection(reflection TS) | ||||
| Mathematical special functions(special functions TR) | ||||
| Experimental Non-TS | ||||
| Pattern Matching | ||||
| Linear Algebra | ||||
| std::execution | ||||
| Contracts | ||||
| 2D Graphics |
| Classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| File types | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Path decomposition | ||||
| Non-member functions | ||||
path& operator/=(const path& p); | (1) | (filesystem TS) |
template<class Source> path& operator/=(const Source& source); | (2) | (filesystem TS) |
template<class Source> path& append(const Source& source); | (3) | (filesystem TS) |
template<class InputIt> path& append( InputIt first, InputIt last); | (4) | (filesystem TS) |
Contents |
| p | - | pathname to append |
| source | - | std::basic_string, null-terminated multicharacter string, or an input iterator pointing to a null-terminated multicharacter sequence, which represents a path name (either in portable or in native format) |
| first, last | - | pair ofLegacyInputIterators that specify a multicharacter sequence that represents a path name |
| Type requirements | ||
-InputIt must meet the requirements ofLegacyInputIterator. | ||
| -The value type ofInputIt must be one of the encoded character types (char,wchar_t,char16_t andchar32_t). | ||
*this
May throwfilesystem_error on underlying OS API errors orstd::bad_alloc if memory allocation fails.
#include <experimental/filesystem>#include <iostream>namespace fs= std::experimental::filesystem; int main(){ fs::path p1="C:"; p1/="Users";// does not insert a separator// "C:Users" is a relative path in Windows// adding directory separator would turn it to an absolute pathstd::cout<<"\"C:\" /\"Users\" == "<< p1<<'\n'; p1/="batman";// inserts fs::path::preferred_separator, '\' on Windowsstd::cout<<"\"C:\" /\"Users\" /\"batman\" == "<< p1<<'\n';}
Possible output:
"C:" / "Users" == "C:Users""C:" / "Users" / "batman" == "C:Users\batman"
| concatenates two paths without introducing a directory separator (public member function)[edit] | |
| concatenates two paths with a directory separator (function)[edit] |