No atomic alloc
This version detects types that can be stored directly in the ring buffer (std::atomic<T>::is_always_lock_free && std::is_trivially_destructible_v<T> == true
) and no longer allocates heap storage when this is the case.
This version detects types that can be stored directly in the ring buffer (std::atomic<T>::is_always_lock_free && std::is_trivially_destructible_v<T> == true
) and no longer allocates heap storage when this is the case.