template <typename Alloc>
struct allocator_is_nothrow
Defined at line 225 of file ../../third_party/abseil-cpp/absl/memory/memory.h
ABSL_ALLOCATOR_NOTHROW is a build time configuration macro for user to
specify whether the default allocation function can throw or never throws.
If the allocation function never throws, user should define it to a non-zero
value (e.g. via `-DABSL_ALLOCATOR_NOTHROW`).
If the allocation function can throw, user should leave it undefined or
define it to zero.
allocator_is_nothrow
<Alloc
> is a traits class that derives from
Alloc::is_nothrow if present, otherwise std::false_type. It's specialized
for Alloc = std::allocator
<T
> for any type T according to the state of
ABSL_ALLOCATOR_NOTHROW.
default_allocator_is_nothrow is a class that derives from std::true_type
when the default allocator (global operator new) never throws, and
std::false_type when it can throw. It is a convenience shorthand for writing
allocator_is_nothrow
<std
::allocator
<T
>> (T can be any type).
NOTE: allocator_is_nothrow
<std
::allocator
<T
>> is guaranteed to derive from
the same type for all T, because users should specialize neither
allocator_is_nothrow nor std::allocator.