8#ifndef INCLUDED_BSLMT_ENTRYPOINTFUNCTORADAPTER
9#define INCLUDED_BSLMT_ENTRYPOINTFUNCTORADAPTER
193#include <bslscm_version.h>
206#include <bsl_string.h>
220template <
class THREAD_POLICY>
261template <
typename TYPE>
290 static void invokerFunction(
void *adapter);
315 template<
typename TYPE>
318 const TYPE& invokable,
334 InvokerFunction function)
335: d_function(function)
351template <
typename TYPE>
362 if (
false == adapter->d_threadName.
empty()) {
364 adapter->d_threadName);
367 adapter->functor()();
371template <
typename TYPE>
373EntryPointFunctorAdapter<TYPE>::EntryPointFunctorAdapter(
377: EntryPointFunctorAdapter_Base(&invokerFunction)
378, d_functor(functor, allocator)
379, d_threadName(threadName, allocator)
383template <
typename TYPE>
385TYPE& EntryPointFunctorAdapter<TYPE>::functor()
387 return d_functor.object();
394template <
typename TYPE>
398 const TYPE& invokable,
Definition bslstl_string.h:1252
allocator_type get_allocator() const BSLS_KEYWORD_NOEXCEPT
Return the allocator used by this string to supply memory.
Definition bslstl_string.h:7423
bool empty() const BSLS_KEYWORD_NOEXCEPT
Return true if this string has length 0, and false otherwise.
Definition bslstl_string.h:7331
Definition bslalg_constructorproxy.h:376
Definition bslma_allocator.h:545
Definition bslma_managedptr.h:1173
Definition bslma_rawdeleterguard.h:217
Definition bslmt_entrypointfunctoradapter.h:230
InvokerFunction function() const
Return the function supplied at construction.
Definition bslmt_entrypointfunctoradapter.h:341
EntryPointFunctorAdapter_Base(InvokerFunction function)
Create a new object holding the specified function.
Definition bslmt_entrypointfunctoradapter.h:333
void(* InvokerFunction)(void *)
Definition bslmt_entrypointfunctoradapter.h:239
Definition bslmt_entrypointfunctoradapter.h:262
~EntryPointFunctorAdapter()=default
Definition bslstl_stringref.h:374
void * bslmt_EntryPointFunctorAdapter_invoker(void *argument)
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition bslmt_barrier.h:344
static Allocator * allocator(Allocator *basicAllocator=0)
Definition bslma_default.h:913
Definition bslmt_entrypointfunctoradapter.h:306
static void allocateAdapter(bslma::ManagedPtr< EntryPointFunctorAdapter< TYPE > > *adapter, const TYPE &invokable, const bslstl::StringRef &threadName, bslma::Allocator *basicAllocator=0)
Definition bslmt_entrypointfunctoradapter.h:396
Definition bslmt_entrypointfunctoradapter.h:221