directory_entry Class
The latest version of this topic can be found at directory_entry Class.
Describes an object that is returned by *X
, where X is a directory_iterator or a recursive_directory_iterator.
Syntax
class directory_entry;
Remarks
The class stores an object of type path. The stored path
can be an instance of the path Class or of a type that is derived from path
. It also stores two file_type values; one that represents what is known about the status of the stored file name, and another that represents what is known about the symbolic link status of the file name.
For more information and code examples, see File System Navigation (C++).
assign
void assign(const std::experimental::filesystem::v1::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
The member function assigns pval to mypath, stat to mystat, and symstat to mysymstat.
directory_entry
directory_entry() = default;
directory_entry(const directory_entry&) = default;
directory_entry(directory_entry&&) noexcept = default;
explicit directory_entry(const std::experimental::filesystem::v1::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
The defaulted constructors behave as expected. The fourth constructor initializes mypath to pval, mystat to stat_arg, and mysymstat to symstat_arg.
operator!=
bool operator!=(const directory_entry& right) const noexcept;
The member function returns !(*this == right).
operator=
directory_entry& operator=(const directory_entry&) = default;
directory_entry& operator=(directory_entry&&) noexcept = default;
The defaulted member assignment operators behave as expected.
operator==
bool operator==(const directory_entry& right) const noexcept;
The member function returns mypath == right.mypath.
operator<
bool operator<(const directory_entry& right) const noexcept;
The member function returns mypath < right.mypath.
operator<=
bool operator<=(const directory_entry& right) const noexcept;
The member function returns !(right < *this).
operator>
bool operator>(const directory_entry& right) const noexcept;
The member function returns right < *this.
operator>=
bool operator>=(const directory_entry& right) const noexcept;
The member function returns !(*this < right).
operator const path_type&
// retained
The member operator returns mypath.
path
const std::experimental::filesystem::v1::path& path() const noexcept;
The member function returns mypath.
replace_filename
void replace_filename(const std::experimental::filesystem::v1::path& pval,
file_status stat_arg = file_status(),
file_status symstat_arg = file_status());
The member function replaces mypath with mypath.parent_path() / pval, mystat with stat_arg, and mysymstat with symstat_arg
status
file_status status() const;
file_status status(
error_code& ec) const noexcept;
Otherwise, mystat = status(mypval).
Both member functions return mystat possibly first altered as follows:
If status_known(mystat) then do nothing.
Otherwise, if !status_known(mysymstat) && !is_symlink(mysymstat) then mystat = mysymstat.
symlink_status
file_status symlink_status() const;
file_status symlink_status(error_code& ec) const noexcept;
Both member functions return mysymstat possibly first altered as follows:If status_known(mysymstat) then do nothing. Otherwise, mysymstat = symlink_status(mypval).
Requirements
Header: <experimental/filesystem>
Namespace: std::experimental::filesystem::v1