Template Class RelocatableCircularQueue

Nested Relationships

Nested Types

Class Documentation

template<class T>
class RelocatableCircularQueue

relocatable circular queue for shared memory

Public Functions

inline iterator begin()
inline iterator end()
inline const iterator begin() const
inline const iterator end() const
inline RelocatableCircularQueue()
inline void Push(const T &value)
inline void Pop()
inline T &Front()
inline const T &Front() const
inline T &Back()
inline const T &Back() const
inline void SetBaseAddress(void *base_address)
inline void Reset(std::size_t max_size)
inline std::size_t Size() const
inline std::size_t MaxSize() const
inline std::size_t OccupiedMemorySize() const

Public Static Functions

static inline std::size_t PresumablyOccupiedMemorySize(std::size_t max_size)

Public Static Attributes

static constexpr auto invalid_index = std::numeric_limits<std::uint64_t>::max()
class iterator

Public Types

using iterator_category = std::forward_iterator_tag
using value_type = T
using difference_type = std::ptrdiff_t
using pointer = T*
using reference = T&

Public Functions

inline explicit iterator(RelocatableCircularQueue<T> &relocatable_circular_queue, std::uint64_t index)
inline iterator &operator++()
inline iterator operator++(int)
inline bool operator==(iterator other) const
inline bool operator!=(iterator other) const
inline T &operator*()
inline const T &operator*() const