21 constexpr auto path() const& ->
di::
Path const& {
return m_path; }
22 constexpr auto path() && ->
di::Path&& {
return di::move(m_path); }
27 constexpr operator di::Path&&() && {
return di::move(*this).path(); }
31 if (has_cached_type()) {
38 if (has_cached_type()) {
45 if (has_cached_type()) {
52 if (has_cached_type()) {
59 if (has_cached_type()) {
66 if (has_cached_type()) {
73 if (has_cached_type()) {
80 if (has_cached_type()) {
104 return a.path_view() == b.path_view();
107 return a.path_view() <=> b.path_view();
111 : m_path(
di::move(
path)), m_cached_type(cached_type) {}
113 auto is_non_symlink_directory() const ->
di::Expected<
bool,
di::GenericCode> {
122 constexpr auto has_cached_type() const ->
bool {
129 template<di::concepts::Encoding Enc>
133 return [=](di::FormatContext
auto& context,
DirectoryEntry const& a) {
134 return formatter(context, a.path_view());
Definition format_parse_context.h:14
Definition expected_forward_declaration.h:8
Definition optional_forward_declaration.h:5
auto is_directory() const -> di::Result< bool >
Definition directory_entry.h:51
auto is_regular_file() const -> di::Result< bool >
Definition directory_entry.h:72
constexpr friend auto operator==(DirectoryEntry const &a, DirectoryEntry const &b) -> bool
Definition directory_entry.h:103
auto file_size() const -> di::Result< umax >
Definition directory_entry.h:93
auto is_block_file() const -> di::Result< bool >
Definition directory_entry.h:37
auto is_fifo() const -> di::Result< bool >
Definition directory_entry.h:58
auto operator=(DirectoryEntry &&) -> DirectoryEntry &=default
constexpr operator di::PathView() const
Definition directory_entry.h:28
constexpr friend auto operator<=>(DirectoryEntry const &a, DirectoryEntry const &b) -> di::strong_ordering
Definition directory_entry.h:106
DirectoryEntry(DirectoryEntry &&)=default
auto is_other() const -> di::Result< bool >
Definition directory_entry.h:65
constexpr auto path() const &-> di::Path const &
Definition directory_entry.h:21
auto exists() const -> di::Result< bool >
Definition directory_entry.h:30
friend class RecursiveDirectoryIterator
Definition directory_entry.h:101
auto status() const -> di::Result< FileStatus >
Definition directory_entry.h:96
constexpr auto path_view() const -> di::PathView
Definition directory_entry.h:23
auto is_character_file() const -> di::Result< bool >
Definition directory_entry.h:44
auto hard_link_count() const -> di::Result< umax >
Definition directory_entry.h:94
constexpr friend auto tag_invoke(di::Tag< di::formatter_in_place >, di::InPlaceType< DirectoryEntry >, di::FormatParseContext< Enc > &context)
Definition directory_entry.h:130
auto is_socket() const -> di::Result< bool >
Definition directory_entry.h:79
friend class DirectoryIterator
Definition directory_entry.h:100
constexpr auto path() &&-> di::Path &&
Definition directory_entry.h:22
auto is_symlink() const -> di::Result< bool >
Definition directory_entry.h:86
constexpr auto filename() const -> di::Optional< di::PathView >
Definition directory_entry.h:24
auto symlink_status() const -> di::Result< FileStatus >
Definition directory_entry.h:97
Definition file_status.h:7
Definition operations.h:34
PathViewImpl< string::TransparentEncoding > PathView
Definition path_view.h:11
PathImpl< TransparentString > Path
Definition path.h:10
uintmax_t umax
Definition integers.h:39
di::meta::Decay< decltype(T)> Tag
Definition tag_invoke.h:28
Expected< T, Error > Result
Definition result.h:8
Definition zstring_parser.h:9
Definition directory_entry.h:11
constexpr auto file_size
Definition file_size.h:13
constexpr auto is_socket
Definition is_socket.h:14
constexpr auto is_directory
Definition is_directory.h:14
constexpr auto is_symlink
Definition is_symlink.h:14
constexpr auto is_block_file
Definition is_block_file.h:14
FileType
Definition file_type.h:6
@ Symlink
Definition file_type.h:11
@ None
Definition file_type.h:7
@ Unknown
Definition file_type.h:16
@ Directory
Definition file_type.h:10
constexpr auto is_other
Definition is_other.h:20
constexpr auto symlink_status
Definition symlink_status.h:14
constexpr auto is_character_file
Definition is_character_file.h:14
constexpr auto status
Definition status.h:14
constexpr auto is_fifo
Definition is_fifo.h:14
constexpr auto hard_link_count
Definition hard_link_count.h:13
constexpr auto exists
Definition exists.h:17
constexpr auto is_regular_file
Definition is_regular_file.h:14
Definition in_place_type.h:5