Skip to content

Class lockfree::circular_queue

template <class T>

ClassList > lockfree > circular_queue

  • #include <lockfree_circular_queue.hpp>

Public Types

Type Name
typedef std::atomic< cursor_type > atomic_cursor_type
typedef atomic_cursor_type atomic_flag_type
typedef std::uint64_t cursor_type
typedef T data_type

Public Functions

Type Name
circular_queue (std::size_t size)
bool consume (T & element)
void force_produce (const T & element)
std::uint64_t get_consumer_cursor ()
bool is_empty () const
bool is_full () const
bool is_half_full ()
bool produce (const T & element)
std::size_t size ()
~circular_queue ()

Public Types Documentation

typedef atomic_cursor_type

using lockfree::circular_queue< T >::atomic_cursor_type =  std::atomic<cursor_type>;

typedef atomic_flag_type

using lockfree::circular_queue< T >::atomic_flag_type =  atomic_cursor_type;

typedef cursor_type

using lockfree::circular_queue< T >::cursor_type =  std::uint64_t;

typedef data_type

using lockfree::circular_queue< T >::data_type =  T;

Public Functions Documentation

function circular_queue [1/3]

inline lockfree::circular_queue::circular_queue (
    std::size_t size
) 

function consume

inline bool lockfree::circular_queue::consume (
    T & element
) 

function force_produce

inline void lockfree::circular_queue::force_produce (
    const T & element
) 

function get_consumer_cursor

inline std::uint64_t lockfree::circular_queue::get_consumer_cursor () 

function is_empty

inline bool lockfree::circular_queue::is_empty () const

function is_full

inline bool lockfree::circular_queue::is_full () const

function is_half_full

inline bool lockfree::circular_queue::is_half_full () 

function produce

inline bool lockfree::circular_queue::produce (
    const T & element
) 

function size

inline std::size_t lockfree::circular_queue::size () 

function ~circular_queue

inline lockfree::circular_queue::~circular_queue () 


The documentation for this class was generated from the following file cubrid/src/base/lockfree_circular_queue.hpp