Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::lockfree::detail::make_ringbuffer< T, A0, A1 > Struct Template Reference

#include <spsc_queue.hpp>

Collaboration diagram for boost::lockfree::detail::make_ringbuffer< T, A0, A1 >:

Public Types

typedef
ringbuffer_signature::bind< A0,
A1 >::type 
bound_args
 
typedef extract_capacity
< bound_args
extract_capacity_t
 
typedef extract_allocator
< bound_args, T
extract_allocator_t
 
typedef extract_allocator_t::type allocator
 
typedef mpl::if_c
< runtime_sized,
runtime_sized_ringbuffer< T,
allocator >
, compile_time_sized_ringbuffer
< T, capacity > >::type 
ringbuffer_type
 

Public Member Functions

 BOOST_STATIC_ASSERT ((mpl::if_< mpl::bool_<!runtime_sized >, mpl::bool_<!extract_allocator_t::has_allocator >, mpl::true_ >::type::value))
 

Static Public Attributes

static const bool runtime_sized = !extract_capacity_t::has_capacity
 
static const size_t capacity = extract_capacity_t::capacity
 

Member Typedef Documentation

template<typename T, typename A0, typename A1>
typedef extract_allocator_t::type boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::allocator
template<typename T, typename A0, typename A1>
typedef ringbuffer_signature::bind<A0, A1>::type boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::bound_args
template<typename T, typename A0, typename A1>
typedef extract_allocator<bound_args, T> boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::extract_allocator_t
template<typename T, typename A0, typename A1>
typedef extract_capacity<bound_args> boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::extract_capacity_t

Member Function Documentation

template<typename T, typename A0, typename A1>
boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::BOOST_STATIC_ASSERT ( (mpl::if_< mpl::bool_<!runtime_sized >, mpl::bool_<!extract_allocator_t::has_allocator >, mpl::true_ >::type::value)  )

Member Data Documentation

template<typename T, typename A0, typename A1>
const size_t boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::capacity = extract_capacity_t::capacity
static
template<typename T, typename A0, typename A1>
const bool boost::lockfree::detail::make_ringbuffer< T, A0, A1 >::runtime_sized = !extract_capacity_t::has_capacity
static

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