Files
2025-10-25 03:02:53 +03:00

3.0 KiB
Raw Permalink Blame History

[fs.path.req]

31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.6 Class path [fs.class.path]

31.12.6.4 Requirements [fs.path.req]

1

#

In addition to the requirements ([fs.req]), function template parameters named Source shall be one of:

  • (1.1)

    basic_string<EcharT, traits, Allocator>. A function argument const Source& source shall have an effective range [source.begin(), source.end()).

  • (1.2)

    basic_string_view<EcharT, traits>. A function argument const Source& source shall have an effective range [source.begin(), source.end()).

  • (1.3)

    A type meeting the Cpp17InputIterator requirements that iterates over an NTCTS. The value type shall be an encoded character type. A function argument const Source& source shall have an effective range [source, end) where end is the first iterator value with an element value equal to iterator_traits::value_type().

  • (1.4)

    A character array that after array-to-pointer decay results in a pointer to the start of an NTCTS. The value type shall be an encoded character type. A function argument const Source& source shall have an effective range [source, end) where end is the first iterator value with an element value equal to iterator_traits<decay_t>::value_type().

2

#

Functions taking template parameters named Source shall not participate in overload resolution unlessSource denotes a type other than path, and either

Source is a specialization ofbasic_string or basic_string_view, or

the qualified-id iterator_traits<decay_t>::value_type is valid and denotes a possibly const encoded character type ([temp.deduct]).

3

#

[Note 1:

See path conversions for how the value types above and their encodings convert topath::value_type and its encoding.

— end note]

4

#

Arguments of type Source shall not be null pointers.