[fs.path.nonmember] (original) (raw)

31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.6 Class path [fs.class.path]

31.12.6.8 Non-member functions [fs.path.nonmember]

void swap(path& lhs, path& rhs) noexcept;

Effects: Equivalent to lhs.swap(rhs).

size_t hash_value(const path& p) noexcept;

Returns: A hash value for the path p.

If for two paths, p1 == p2 then hash_value(p1) == hash_value(p2).

friend bool operator==(const path& lhs, const path& rhs) noexcept;

Returns: lhs.compare(rhs) == 0.

[Note 1:

Path equality and path equivalence have different semantics.

— _end note_]

friend strong_ordering operator<=>(const path& lhs, const path& rhs) noexcept;

Returns: lhs.compare(rhs) <=> 0.

friend path operator/(const path& lhs, const path& rhs);

Effects: Equivalent to: return path(lhs) /= rhs;