Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help