-  
[ is_constant_evaluated  ](/w/cpp/types/is_constant_evaluated "cpp/types/is constant evaluated") (C++20)  |  detects whether the call occurs within a constant-evaluated context   
(function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_constant_evaluated&action=edit)  
[ is_within_lifetime  ](/w/cpp/types/is_within_lifetime "cpp/types/is within lifetime") (C++26)  |  checks whether a pointer is within the object's lifetime at compile time   
(function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/types/dsc_is_within_lifetime&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=5 "Edit
section: Implementation properties") ]  [ Implementation properties
](/w/cpp/utility/feature_test "cpp/utility/feature test")

The header [ ` <version> ` ](/w/cpp/header/version "cpp/header/version") supplies implementation-dependent information about the C++ standard library (such as the version number and release date). It also defines the [ library feature-test macros ](/w/cpp/utility/feature_test "cpp/utility/feature test") .  |  (since C++20)   
---|---  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=6 "Edit
section: Program utilities") ]  [ Program utilities ](/w/cpp/utility/program
"cpp/utility/program")

Termination (e.g.  [ std::abort ](/w/cpp/utility/program/abort
"cpp/utility/program/abort") ,  [ std::atexit ](/w/cpp/utility/program/atexit
"cpp/utility/program/atexit") ), environment (e.g.  [ std::system
](/w/cpp/utility/program/system "cpp/utility/program/system") ), signals (e.g.
[ std::raise ](/w/cpp/utility/program/raise "cpp/utility/program/raise") )

###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=7 "Edit
section: Dynamic memory management") ]  [ Dynamic memory management
](/w/cpp/memory "cpp/memory")

Smart pointers (e.g.  [ std::shared_ptr ](/w/cpp/memory/shared_ptr
"cpp/memory/shared ptr") ), allocators (e.g.  [ std::allocator
](/w/cpp/memory/allocator "cpp/memory/allocator") or  [
std::pmr::memory_resource ](/w/cpp/memory/memory_resource "cpp/memory/memory
resource") ), C-style memory management (e.g.  [ std::malloc
](/w/cpp/memory/c/malloc "cpp/memory/c/malloc") )

###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=8 "Edit
section: Error handling") ]  [ Error handling ](/w/cpp/error "cpp/error")

Exceptions (e.g.  [ std::exception ](/w/cpp/error/exception
"cpp/error/exception") ,  [ std::terminate ](/w/cpp/error/terminate
"cpp/error/terminate") ), assertions (e.g.  [ assert ](/w/cpp/error/assert
"cpp/error/assert") )

###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=9 "Edit
section: Source code information capture") ]  [ Source code information
capture ](/w/cpp/utility/source_location "cpp/utility/source location")

Defined in header ` [ <source_location> ](/w/cpp/header/source_location
"cpp/header/source location") `  
---  
[ source_location  ](/w/cpp/utility/source_location "cpp/utility/source location") (C++20)  |  a class representing information about the source code, such as file names, line numbers, and function names   
(class)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_source_location&action=edit)  
  
###  [ [ edit ](/mwiki/index.php?title=cpp/utility&action=edit&section=10
"Edit section: Debugging support") ]  Debugging support

Defined in header ` [ <debugging> ](/w/cpp/header/debugging
"cpp/header/debugging") `  
---  
[ breakpoint  ](/w/cpp/utility/breakpoint "cpp/utility/breakpoint") (C++26)  |  pauses the running program when called   
(function)  [ [edit]
](https://en.cppreference.com/mwiki/index.php?title=Template:cpp/utility/dsc_breakpoint&action=edit)  
[ breakpoint_if_debugging  ](/w/cpp/utility/breakpoint_if_debugging "cpp/utility/breakpoint if debugging") (C++26)  |  calls  std::breakpoint  if  std::is_debugger_present  returns  true    
(function)  [ [edi