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

FreeBSD Manual Pages

  
 
  

home | help
std::system_category(3)	      C++ Standard Libary      std::system_category(3)

NAME
       std::system_category - std::system_category

Synopsis
	  Defined in header <system_error>
	  const	  std::error_category&	 system_category()  noexcept;	(since
       C++11)

	  Obtains a reference to the static error category object  for	errors
       reported	by the
	  operating  system.  The  object  is required to override the virtual
       function
	  std::error_category::name() to return	a pointer to the string	 "sys-
       tem". It	is also
	  required to override the virtual function
	  std::error_category::default_error_condition()   to  map  the	 error
       codes that match
	  POSIX	errno values to	std::generic_category.

Parameters
	  (none)

Return value
	  A reference to the static object of unspecified  runtime  type,  de-
       rived from
	  std::error_category.

Example
       // Run this code

	#include <iomanip>
	#include <iostream>
	#include <string>
	#include <system_error>

	int main()
	{
	    for	(int const code	: {EDOM, 10001})
	    {
		const std::error_condition econd =
		    std::system_category().default_error_condition(code);

		std::cout << "Category:	" << econd.category().name() <<	'\n'
			  << "Value:	" << econd.value() << '\n'
			  << "Message:	" << econd.message() <<	"\n\n";
	    }
	}

Possible output:
	Category: generic
	Value:	  33
	Message:  Numerical argument out of domain

	Category: system
	Value:	  10001
	Message:  Unknown error	10001

See also
	  generic_category identifies the generic error	category
	  (C++11)	   (function)
	  errc		    the	 std::error_condition  enumeration listing all
       standard	<cerrno>
	  (C++11)	   macro constants
			   (class)

http://cppreference.com		  2022.07.31	       std::system_category(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::system_category&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help