is_regular 和来自 boost 文件系统的 is_regular_file 之间的区别
Difference between is_regular and is_regular_file from boost filesystem
我看到 here boost::filesystem::is_regular
被 BOOST_FILESYSTEM_NO_DEPRECATED
保护着,所以我认为它不应该再被使用了。
我在文件上测试了这两种方法,它们似乎给出了相同的结果,但考虑到我在任何地方都找不到这些方法的文档,boost::filesystem::is_regular
和 [=15 之间的实际区别是什么=]?它们是相同的东西还是前者更通用(例如:常规符号链接等)?
它们是相同的:
inline bool is_regular_file(file_status f) BOOST_NOEXCEPT {
return f.type() == regular_file;
}
inline bool is_regular(file_status f) BOOST_NOEXCEPT {
return f.type() == regular_file;
}
来源:
- https://github.com/boostorg/filesystem/blob/de527c68623eba5b87aa7442a48bd18d90e1b26d/include/boost/filesystem/operations.hpp#L321
- https://github.com/boostorg/filesystem/blob/de527c68623eba5b87aa7442a48bd18d90e1b26d/include/boost/filesystem/operations.hpp#L332
我怀疑 is_regular()
在 Filesystem TS 决定调用该函数 is_regular_file()
时被弃用。
我看到 here boost::filesystem::is_regular
被 BOOST_FILESYSTEM_NO_DEPRECATED
保护着,所以我认为它不应该再被使用了。
我在文件上测试了这两种方法,它们似乎给出了相同的结果,但考虑到我在任何地方都找不到这些方法的文档,boost::filesystem::is_regular
和 [=15 之间的实际区别是什么=]?它们是相同的东西还是前者更通用(例如:常规符号链接等)?
它们是相同的:
inline bool is_regular_file(file_status f) BOOST_NOEXCEPT {
return f.type() == regular_file;
}
inline bool is_regular(file_status f) BOOST_NOEXCEPT {
return f.type() == regular_file;
}
来源:
- https://github.com/boostorg/filesystem/blob/de527c68623eba5b87aa7442a48bd18d90e1b26d/include/boost/filesystem/operations.hpp#L321
- https://github.com/boostorg/filesystem/blob/de527c68623eba5b87aa7442a48bd18d90e1b26d/include/boost/filesystem/operations.hpp#L332
我怀疑 is_regular()
在 Filesystem TS 决定调用该函数 is_regular_file()
时被弃用。