Skip to content
Snippets Groups Projects
  • Jonathan Wakely's avatar
    1489e281
    libstdc++: Implement P2968R2 "Making std::ignore a first-class object" · 1489e281
    Jonathan Wakely authored
    This was recently approved for C++26, but we can apply the changes for
    all modes back to C++11. There's no reason not to make the assignment
    usable in constant expressions for C++11 mode, and noexcept for all
    modes.
    
    Move the definitions to <bits/utility.h> so they're available in
    <utility> as well as <tuple>.
    
    libstdc++-v3/ChangeLog:
    
    	* include/bits/utility.h (_Swallow_assign): Make assignment
    	constexpr for C++11 as well, and add noexcept.
    	* include/std/tuple (_Swallow_assign, ignore): Move to
    	bits/utility.h.
    	* testsuite/20_util/headers/utility/ignore.cc: New test.
    libstdc++: Implement P2968R2 "Making std::ignore a first-class object"
    Jonathan Wakely authored
    This was recently approved for C++26, but we can apply the changes for
    all modes back to C++11. There's no reason not to make the assignment
    usable in constant expressions for C++11 mode, and noexcept for all
    modes.
    
    Move the definitions to <bits/utility.h> so they're available in
    <utility> as well as <tuple>.
    
    libstdc++-v3/ChangeLog:
    
    	* include/bits/utility.h (_Swallow_assign): Make assignment
    	constexpr for C++11 as well, and add noexcept.
    	* include/std/tuple (_Swallow_assign, ignore): Move to
    	bits/utility.h.
    	* testsuite/20_util/headers/utility/ignore.cc: New test.