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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::ignore - std::ignore

Synopsis
	  Defined in header <tuple>
	  const	/*unspecified*/	ignore;		    (since C++11)
						    (until C++17)
	  inline constexpr /*unspecified*/ ignore;  (since C++17)

	  An object of unspecified type	such that any value can	be assigned to
       it with no
	  effect.  Intended for	use with std::tie when unpacking a std::tuple,
       as a placeholder
	  for the arguments that are not used.

	  While	the behavior of	std::ignore outside of std::tie	 is  not  for-
       mally specified,
	  some	code guides recommend using std::ignore	to avoid warnings from
       unused return
	  values of [[nodiscard]] functions.

Possible implementation
	  namespace detail {
	  struct ignore_t
	  {
	      template <typename T>
	      constexpr	// required since C++14
	      void operator=(T&&) const	noexcept {}
	  };
	  }
	  inline constexpr detail::ignore_t  ignore;  //  'const'  only	 until
       C++17

Example
	   1.  Demonstrates  the  use  of std::ignore together with a [[nodis-
       card]] function.
	   2. Unpacks a	std::pair<iterator, bool>  returned  by	 std::set::in-
       sert(), but only
	      saves the	boolean.

       // Run this code

	#include <iostream>
	#include <set>
	#include <string>
	#include <tuple>

	[[nodiscard]] int dontIgnoreMe()
	{
	    return 42;
	}

	int main()
	{
	    std::ignore	= dontIgnoreMe();

	    std::set<std::string> set_of_str;
	    bool inserted = false;
	    std::tie(std::ignore, inserted) = set_of_str.insert("Test");
	    if (inserted)
		std::cout << "Value was	inserted successfully\n";
	}

Output:
	Value was inserted successfully

See also
	  tie	  creates a tuple of lvalue references or unpacks a tuple into
       individual
	  (C++11) objects
		  (function template)

http://cppreference.com		  2024.06.10			std::ignore(3)

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

home | help