This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [patch] Implement ISO/IEC TS 18822 C++ File system TS
- From: Daniel Krügler <daniel dot kruegler at gmail dot com>
- To: Jonathan Wakely <jwakely at redhat dot com>
- Cc: "libstdc++" <libstdc++ at gcc dot gnu dot org>, gcc-patches List <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 1 May 2015 19:03:07 +0200
- Subject: Re: [patch] Implement ISO/IEC TS 18822 C++ File system TS
- Authentication-results: sourceware.org; auth=none
- References: <20150430173236 dot GT3618 at redhat dot com>
2015-04-30 19:32 GMT+02:00 Jonathan Wakely <jwakely@redhat.com>:
> This is the complete <experimental/filesystem> implementation I intend
> to commit shortly. (It's also been pushed to the redi/filesystem-ts
> branch in the git mirror).
- There are three places where you refer to std::__addressof and one
where you refer to std::addressof. Is this difference intentional?
- I found all together six non-uglified usages of parameter name "rhs"
in the synopsis of directory_iterator and
recursive_directory_iterator.
b/libstdc++-v3/include/experimental/fs_ops.h:
- non-uglified parameters names "ec", "base", "p", "options",
"new_time", "prms":
path canonical(const path& p, error_code& ec);
path canonical(const path& p, const path& base, error_code& ec);
void copy(const path& __from, const path& __to, copy_options options);
void copy(const path& __from, const path& __to, copy_options options,
error_code& __ec) noexcept;
void last_write_time(const path& __p, file_time_type new_time);
void last_write_time(const path& __p, file_time_type new_time,
error_code& __ec) noexcept;
void permissions(const path& __p, perms prms);
void permissions(const path& __p, perms prms, error_code& __ec) noexcept;
b/libstdc++-v3/include/experimental/fs_path.h:
- non-uglified parameters names "n", "pos", "equals":
void _M_add_root_name(size_t n);
void _M_add_root_dir(size_t pos);
void _M_add_filename(size_t pos, size_t n);
class path::iterator:
bool equals(iterator) const;
b/libstdc++-v3/src/filesystem/dir.cc:
- Shouldn't the template bool is_set(Bitmask obj, Bitmask bits) be inline?
b/libstdc++-v3/src/filesystem/ops.cc:
- Shouldn't the template bool is_set(Bitmask obj, Bitmask bits) be inline?
- fs::space(const path& p, error_code& ec) noexcept:
If _GLIBCXX_HAVE_SYS_STATVFS_H is not defined, there should be a #else
that performs
ec = std::make_error_code(std::errc::not_supported);
- fs::path fs::temp_directory_path(error_code& ec):
The code-branch
#ifdef _GLIBCXX_FILESYSTEM_IS_WINDOWS
should start with:
ec = std::make_error_code(std::errc::not_supported);
b/libstdc++-v3/src/filesystem/path.cc:
- path::compare(const path& p) const noexcept:
Shouldn't the implementation of this noexcept function not try to
create copies of path objects? Couldn't _Cmpt just hold references to
_M_pathname?
- Daniel