MatLogger2  1.0.0
Library for logging of numeric data to HDF5 MAT-files, which is RT-safe and multithreaded.
Public Member Functions | Protected Member Functions | List of all members
boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc > Class Template Reference

#include <spsc_queue_logger.hpp>

+ Inheritance diagram for boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >:
+ Collaboration diagram for boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >:

Public Member Functions

 runtime_sized_ringbuffer (size_type max_elements)
 
template<typename U >
 runtime_sized_ringbuffer (typename Alloc::template rebind< U >::other const &alloc, size_type max_elements)
 
 runtime_sized_ringbuffer (Alloc const &alloc, size_type max_elements)
 
 ~runtime_sized_ringbuffer (void)
 
bool push (T const &t)
 
template<typename Functor >
bool consume_one (Functor &f)
 
template<typename Functor >
bool consume_one (Functor const &f)
 
template<typename Functor >
size_type consume_all (Functor &f)
 
template<typename Functor >
size_type consume_all (Functor const &f)
 
size_type push (T const *t, size_type size)
 
template<size_type size>
size_type push (T const (&t)[size])
 
template<typename ConstIterator >
ConstIterator push (ConstIterator begin, ConstIterator end)
 
size_type pop (T *ret, size_type size)
 
template<typename OutputIterator >
size_type pop_to_output_iterator (OutputIterator it)
 
const T & front (void) const
 
T & front (void)
 
- Public Member Functions inherited from boost::lockfree::detail::ringbuffer_base< T >
void reset (void)
 reset the ringbuffer More...
 
bool empty (void)
 Check if the ringbuffer is empty. More...
 
bool is_lock_free (void) const
 

Protected Member Functions

size_type max_number_of_elements () const
 
- Protected Member Functions inherited from boost::lockfree::detail::ringbuffer_base< T >
 ringbuffer_base (void)
 
size_t read_available (size_t max_size) const
 
size_t write_available (size_t max_size) const
 
bool push (T const &t, T *buffer, size_t max_size)
 
size_t push (const T *input_buffer, size_t input_count, T *internal_buffer, size_t max_size)
 
template<typename ConstIterator >
ConstIterator push (ConstIterator begin, ConstIterator end, T *internal_buffer, size_t max_size)
 
template<typename Functor >
bool consume_one (Functor &functor, T *buffer, size_t max_size)
 
template<typename Functor >
bool consume_one (Functor const &functor, T *buffer, size_t max_size)
 
template<typename Functor >
size_t consume_all (Functor const &functor, T *internal_buffer, size_t max_size)
 
template<typename Functor >
size_t consume_all (Functor &functor, T *internal_buffer, size_t max_size)
 
size_t pop (T *output_buffer, size_t output_count, T *internal_buffer, size_t max_size)
 
template<typename OutputIterator >
size_t pop_to_output_iterator (OutputIterator it, T *internal_buffer, size_t max_size)
 
const T & front (const T *internal_buffer) const
 
T & front (T *internal_buffer)
 

Additional Inherited Members

- Protected Types inherited from boost::lockfree::detail::ringbuffer_base< T >
typedef std::size_t size_t
 
- Static Protected Member Functions inherited from boost::lockfree::detail::ringbuffer_base< T >
static size_t next_index (size_t arg, size_t max_size)
 
static size_t read_available (size_t write_index, size_t read_index, size_t max_size)
 
static size_t write_available (size_t write_index, size_t read_index, size_t max_size)
 
- Protected Attributes inherited from boost::lockfree::detail::ringbuffer_base< T >
atomic< size_twrite_index_
 
char padding1 [padding_size]
 
atomic< size_tread_index_
 
- Static Protected Attributes inherited from boost::lockfree::detail::ringbuffer_base< T >
static const int padding_size = BOOST_LOCKFREE_CACHELINE_BYTES - sizeof(size_t)
 

Detailed Description

template<typename T, typename Alloc>
class boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >

Definition at line 545 of file spsc_queue_logger.hpp.

Constructor & Destructor Documentation

template<typename T , typename Alloc >
boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::runtime_sized_ringbuffer ( size_type  max_elements)
inlineexplicit

Definition at line 561 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename U >
boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::runtime_sized_ringbuffer ( typename Alloc::template rebind< U >::other const &  alloc,
size_type  max_elements 
)
inline

Definition at line 568 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::runtime_sized_ringbuffer ( Alloc const &  alloc,
size_type  max_elements 
)
inline

Definition at line 574 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::~runtime_sized_ringbuffer ( void  )
inline

Definition at line 580 of file spsc_queue_logger.hpp.

Member Function Documentation

template<typename T , typename Alloc >
template<typename Functor >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::consume_all ( Functor &  f)
inline

Definition at line 607 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename Functor >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::consume_all ( Functor const &  f)
inline

Definition at line 613 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename Functor >
bool boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::consume_one ( Functor &  f)
inline

Definition at line 595 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename Functor >
bool boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::consume_one ( Functor const &  f)
inline

Definition at line 601 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
const T& boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::front ( void  ) const
inline

Definition at line 646 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
T& boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::front ( void  )
inline

Definition at line 651 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::max_number_of_elements ( ) const
inlineprotected

Definition at line 555 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::pop ( T *  ret,
size_type  size 
)
inline

Definition at line 635 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename OutputIterator >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::pop_to_output_iterator ( OutputIterator  it)
inline

Definition at line 641 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
bool boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::push ( T const &  t)
inline

Definition at line 589 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::push ( T const *  t,
size_type  size 
)
inline

Definition at line 618 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<size_type size>
size_type boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::push ( T const (&)  t[size])
inline

Definition at line 624 of file spsc_queue_logger.hpp.

template<typename T , typename Alloc >
template<typename ConstIterator >
ConstIterator boost::lockfree::detail::runtime_sized_ringbuffer< T, Alloc >::push ( ConstIterator  begin,
ConstIterator  end 
)
inline

Definition at line 630 of file spsc_queue_logger.hpp.


The documentation for this class was generated from the following file: