[fs.op.equivalent] (original) (raw)

31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.13 Filesystem operation functions [fs.op.funcs]

31.12.13.13 Equivalent [fs.op.equivalent]

bool filesystem::equivalent(const path& p1, const path& p2);bool filesystem::equivalent(const path& p1, const path& p2, error_code& ec) noexcept;

Two paths are considered to resolve to the same file system entity if two candidate entities reside on the same device at the same location.

[Note 1:

On POSIX platforms, this is determined as if by the values of the POSIX stat class, obtained as if by stat for the two paths, having equal st_dev values and equal st_ino values.

— _end note_]

Returns: true, if p1 and p2 resolve to the same file system entity, otherwise false.

The signature with argument ec returns false if an error occurs.

Remarks: !exists(p1) || !exists(p2) is an error.