FreeBSD Manual Pages
std::experi..._link_count(3) C++ Standard Libary std::experi..._link_count(3) NAME std::experimental::filesystem::hard_link_count - std::experimen- tal::filesystem::hard_link_count Synopsis Defined in header <experimental/filesystem> std::uintmax_t hard_link_count( const path& p ); (1) (filesystem TS) std::uintmax_t hard_link_count( const path& p, error_code& ec ); Returns the number of hard links for the filesystem object identi- fied by path p. The non-throwing overload returns static_cast<uintmax_t>(-1) on er- rors. Parameters p - path to examine ec - out-parameter for error reporting in the non-throwing overload Return value The number of hard links for p Exceptions The overload that does not take a error_code& parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std::bad_alloc may be thrown if memory allocation fails. The overload taking a error_code& parameter sets it to the OS API error code if an OS API call fails, and executes ec.clear() if no errors occur. This overload has noexcept specification: noexcept Example // Run this code #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { // On a POSIX-style filesystem, each directory has at least 2 hard links: // itself and the special member pathname "." fs::path p = fs::current_path(); std::cout << "Number of hard links for current path is " << fs::hard_link_count(p) << '\n'; // each ".." is a hard link to the parent directory, so the total number // of hard links for any directory is 2 plus number of direct sub- directories p = fs::current_path() / ".."; // each dot-dot is a hard link to parent std::cout << "Number of hard links for .. is " << fs::hard_link_count(p) << '\n'; } Output: Number of hard links for current path is 2 Number of hard links for .. is 3 See also create_hard_link creates a hard link (function) http://cppreference.com 2022.07.31 std::experi..._link_count(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::filesystem::hard_link_count&sektion=3&manpath=FreeBSD+Ports+15.0>
