A safe buffer that can be atomically replaced and read.
More...
#include <atomic_readable_buffer.hpp>
|
|
using | allocator_traits_type = std::allocator_traits<std::pmr::polymorphic_allocator<T>> |
| |
|
| | atomic_readable_buffer (std::pmr::memory_resource *resource=std::pmr::new_delete_resource()) |
| | Constructs the object with a PMR resource.
|
| |
|
void | reset () |
| | Resets the buffer.
|
| |
template<std::ranges::forward_range Range>
requires (std::convertible_to<std::ranges::range_value_t<Range>, T> && std::ranges::sized_range<Range>) |
| void | update (Range &&range) |
| | Updated the entire buffer.
|
| |
| std::pair< std::shared_ptr< T >, std::size_t > | get () const |
| | Retrieves the current buffer.
|
| |
template<std::default_initializable T>
class essence::atomic_readable_buffer< T >
A safe buffer that can be atomically replaced and read.
- Template Parameters
-
| T | The element type of the buffer. |
◆ atomic_readable_buffer()
template<std::default_initializable T>
Constructs the object with a PMR resource.
- Parameters
-
| resource | The PMR resource. |
◆ get()
template<std::default_initializable T>
Retrieves the current buffer.
- Returns
- The current buffer.
◆ update()
template<std::default_initializable T>
template<std::ranges::forward_range Range>
requires (std::convertible_to<std::ranges::range_value_t<Range>, T> && std::ranges::sized_range<Range>)
Updated the entire buffer.
- Template Parameters
-
| Range | The type of the input range. |
- Parameters
-
The documentation for this class was generated from the following file: