Util.h file
Various utility functions and basic types used throughout the library.
Namespaces
- namespace slang
 - Root namespace.
 - namespace slang::assert
 - Assertion-related utilities.
 - namespace std
 - STL namespace.
 
Classes
- class slang::assert::AssertionException
 - An exception thrown when an ASSERT condition fails.
 - 
              template<typename T>class slang::not_null
 - A wrapper around a pointer that indicates that it should never be null.
 
Functions
- void assertFailed(const char* expr, const std::source_location& location)
 - A handler that runs when an ASSERT condition fails; it will unconditionally throw an exception.
 - void handleThrow(const char* msg, const std::source_location& location)
 - A handler that runs when an exception is thrown but exceptions are disabled; it will unconditionally abort the program.
 - void handleUnreachable(const std::source_location& location)
 - A handler that runs when a code path is reached that is supposed to be unreachable.