libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I > Struct Template Referencefinal

An adaptor for collections that batches up to I items being both added to or removed from the collection, Colln. More...

#include <batch.hpp>

Inheritance diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >:
[legend]
Collaboration diagram for jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >:
[legend]

Public Types

typedef front_batch< Colln, I > base_t
 
typedef base_t::thread_traits thread_traits
 
typedef base_t::container_type container_type
 
typedef container_type::value_type value_type
 
typedef container_type::exception_type exception_type
 
- Public Types inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::front_batch< Colln, I >
typedef Colln base_t
 
typedef base_t::thread_traits thread_traits
 
typedef Colln container_type
 
typedef container_type::value_ret_type value_ret_type
 
typedef container_type::exception_type exeception_type
 

Public Member Functions

constexpr back_batch () noexcept(noexcept(base_t()))
 
 back_batch (typename base_t::have_work_type::atomic_t &a) noexcept(noexcept(base_t(a)))
 
- Public Member Functions inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::front_batch< Colln, I >
constexpr front_batch () noexcept(noexcept(base_t()))
 
 front_batch (typename base_t::have_work_type::atomic_t &a) noexcept(noexcept(base_t(std::declval< base_t >())))
 
 front_batch (front_batch const &fb) noexcept(noexcept(base_t(std::declval< front_batch >())))
 
front_batch &__fastcall FORCE_INLINE operator= (front_batch const &fb) noexcept(noexcept(base_t::operator=(std::declval< front_batch >())))
 
value_ret_type __fastcall pop_front_nochk_nolk () noexcept(true) FORCE_INLINE
 The items are batched when popped from the queue. More...
 

Additional Inherited Members

- Static Public Attributes inherited from jmmcg::LIBJMMCG_VER_NAMESPACE::front_batch< Colln, I >
static constexpr unsigned long max_size =I
 The maximum number of items to batch. More...
 

Detailed Description

template<class Colln, unsigned long I>
struct jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >

An adaptor for collections that batches up to I items being both added to or removed from the collection, Colln.

This means that as items are added to the collection, they are potentially added to the last item that was added to the collection. This implies that the Colln::value_type is some kind of collection to which the new work may be added.

Definition at line 103 of file batch.hpp.

Member Typedef Documentation

◆ base_t

template<class Colln , unsigned long I>
typedef front_batch<Colln, I> jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::base_t

Definition at line 104 of file batch.hpp.

◆ container_type

template<class Colln , unsigned long I>
typedef base_t::container_type jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::container_type

Definition at line 107 of file batch.hpp.

◆ exception_type

template<class Colln , unsigned long I>
typedef container_type::exception_type jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::exception_type

Definition at line 109 of file batch.hpp.

◆ thread_traits

template<class Colln , unsigned long I>
typedef base_t::thread_traits jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::thread_traits

Definition at line 106 of file batch.hpp.

◆ value_type

template<class Colln , unsigned long I>
typedef container_type::value_type jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::value_type

Definition at line 108 of file batch.hpp.

Constructor & Destructor Documentation

◆ back_batch() [1/2]

template<class Colln , unsigned long I>
constexpr jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::back_batch ( )
inlineconstexprnoexcept

Definition at line 113 of file batch.hpp.

◆ back_batch() [2/2]

template<class Colln , unsigned long I>
jmmcg::LIBJMMCG_VER_NAMESPACE::back_batch< Colln, I >::back_batch ( typename base_t::have_work_type::atomic_t &  a)
inlineexplicitnoexcept

Definition at line 115 of file batch.hpp.


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