27 Input/output library [input.output]

27.10 File systems [filesystems]

27.10.8 Class path [class.path]

27.10.8.4 path members [path.member]

27.10.8.4.4 path concatenation [path.concat]

path& operator+=(const path& x); path& operator+=(const string_type& x); path& operator+=(basic_string_view<value_type> x); path& operator+=(const value_type* x); path& operator+=(value_type x); template <class Source> path& operator+=(const Source& x); template <class EcharT> path& operator+=(EcharT x); template <class Source> path& concat(const Source& x); template <class InputIterator> path& concat(InputIterator first, InputIterator last);

Postconditions: native() == prior_native + effective-argument, where prior_native is native() prior to the call to operator+=, and effective-argument is:

  • if x is present and is const path&, x.native(); otherwise,

  • if source is present, the effective range of source ([path.req]); otherwise,

  • if first and last are present, the range [first, last); otherwise,

  • x.

If the value type of effective-argument would not be path::value_type, the actual argument or argument range is first converted ([path.type.cvt]) so that effective-argument has value type path::value_type.

Returns: *this.