8#ifndef INCLUDED_BSLMT_THREADGROUP
9#define INCLUDED_BSLMT_THREADGROUP
129#include <bslscm_version.h>
141#include <bsl_vector.h>
164 Mutex d_threadsMutex;
199 template <
class INVOKABLE>
200 int addThread(
const INVOKABLE& functor);
201 template <
class INVOKABLE>
202 int addThread(
const INVOKABLE& functor,
213 template <
class INVOKABLE>
215 template <
class INVOKABLE>
240template<
class INVOKABLE>
242int ThreadGroup::addThread(
const INVOKABLE& functor)
247template<
class INVOKABLE>
254template<
class INVOKABLE>
255int ThreadGroup::addThread(
const INVOKABLE& functor,
283template <
class INVOKABLE>
291 for (numAdded = 0; numAdded <
numThreads; ++numAdded) {
292 if (0 != addThread(functor, attributes)) {
Definition bslstl_vector.h:1120
allocator_type get_allocator() const BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:4621
Definition bslma_allocator.h:545
Definition bslmt_mutex.h:317
Definition bslmt_threadattributes.h:361
@ e_CREATE_JOINABLE
Definition bslmt_threadattributes.h:370
DetachedState detachedState() const
Definition bslmt_threadattributes.h:736
ThreadAttributes & setDetachedState(DetachedState value)
Definition bslmt_threadattributes.h:662
Definition bslmt_threadgroup.h:156
int numThreads() const
Definition bslmt_threadgroup.h:301
ThreadGroup(bslma::Allocator *basicAllocator=0)
int addThreads(const INVOKABLE &functor, int numThreads)
Definition bslmt_threadgroup.h:249
Definition bsls_atomic.h:744
int loadRelaxed() const
Definition bsls_atomic.h:1759
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition baljsn_encoder_testtypes.h:76
Definition bslmt_barrier.h:344
Definition bslma_usesbslmaallocator.h:344
Imp::Handle Handle
Definition bslmt_threadutil.h:389
static int createWithAllocator(Handle *handle, ThreadFunction function, void *userData, bslma::Allocator *allocator)