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 formally specified, some code guides recommend using std::ignore to avoid warnings from un- used 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 [[nodiscard]] function. 2. Unpacks a std::pair<iterator, bool> returned by std::set::insert(), 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 in- dividual (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>