20#ifndef REALM_CIRC_QUEUE_H
21#define REALM_CIRC_QUEUE_H
31 template <
typename T,
unsigned INTSIZE>
32 class CircularQueueIterator;
34 template <
typename T,
unsigned INTSIZE = 4>
64 template <
unsigned INTSIZE2>
80 const T *
item_ptr(
const char *base,
size_t idx)
const;
96 template <
typename T,
unsigned INTSIZE>
135#include "realm/circ_queue.inl"
Definition circ_queue.h:97
T value_type
Definition circ_queue.h:101
CircularQueueIterator(void)
CircularQueue< T, INTSIZE > * cq
Definition circ_queue.h:128
std::ptrdiff_t difference_type
Definition circ_queue.h:102
size_t pos
Definition circ_queue.h:129
CircularQueueIterator(CircularQueue< T, INTSIZE > *_cq, size_t _pos, bool _at_end)
bool operator==(const CircularQueueIterator< T, INTSIZE > &compare_to) const
T & reference
Definition circ_queue.h:104
CircularQueueIterator(const CircularQueueIterator< T, INTSIZE > ©_from)
CircularQueueIterator< T, INTSIZE > & operator++()
CircularQueueIterator< T, INTSIZE > & operator=(const CircularQueueIterator< T, INTSIZE > ©_from)
CircularQueueIterator< T, INTSIZE > operator++(int)
const T * operator->(void)
bool at_end
Definition circ_queue.h:130
std::forward_iterator_tag iterator_category
Definition circ_queue.h:100
bool operator!=(const CircularQueueIterator< T, INTSIZE > &compare_to) const
T * pointer
Definition circ_queue.h:103
Definition circ_queue.h:35
void reserve(size_t new_capacity)
size_t tail
Definition circ_queue.h:88
void swap(CircularQueue< T, INTSIZE > &swap_with)
CircularQueue(size_t init_capacity=0, int _growth_factor=-2)
T * item_ptr(char *base, size_t idx) const
CircularQueueIterator< T, INTSIZE > iterator
Definition circ_queue.h:67
void push_front(const T &val)
const_iterator begin(void) const
const T * item_ptr(const char *base, size_t idx) const
CircularQueueIterator< T const, INTSIZE > const_iterator
Definition circ_queue.h:68
char internal_buffer[ITEMSIZE *INTSIZE]
Definition circ_queue.h:83
size_t max_size
Definition circ_queue.h:86
int growth_factor
Definition circ_queue.h:90
char * external_buffer
Definition circ_queue.h:84
size_t head
Definition circ_queue.h:87
size_t capacity(void) const
void swap(CircularQueue< T, INTSIZE2 > &swap_with)
void push_back(const T &val)
size_t current_size
Definition circ_queue.h:85
const T & front(void) const
T ITEMTYPE
Definition circ_queue.h:41
static const size_t ITEMSIZE
Definition circ_queue.h:42
const T & back(void) const
Definition activemsg.h:38