concurrency¶
#include <hpx/concurrency/spinlock.hpp>¶
#include <hpx/concurrency/spinlock_pool.hpp>¶
-
namespace
hpx
#include <hpx/concurrency/concurrentqueue.hpp>¶
Defines
-
MOODYCAMEL_THREADLOCAL¶
-
MOODYCAMEL_EXCEPTIONS_ENABLED¶
-
MOODYCAMEL_TRY¶
-
MOODYCAMEL_CATCH(...)¶
-
MOODYCAMEL_RETHROW¶
-
MOODYCAMEL_THROW(expr)¶
-
MOODYCAMEL_NOEXCEPT¶
-
MOODYCAMEL_NOEXCEPT_CTOR(type, valueType, expr)¶
-
MOODYCAMEL_NOEXCEPT_ASSIGN(type, valueType, expr)¶
-
MOODYCAMEL_DELETE_FUNCTION¶
-
namespace
moodycamel¶ Functions
-
template<typename
T, typenameTraits>
voidswap(typename ConcurrentQueue<T, Traits>::ImplicitProducerKVP &a, typename ConcurrentQueue<T, Traits>::ImplicitProducerKVP &b)¶
-
template<typename
T, typenameTraits>
voidswap(ConcurrentQueue<T, Traits> &a, ConcurrentQueue<T, Traits> &b)¶
-
void
swap(ProducerToken &a, ProducerToken &b)¶
-
void
swap(ConsumerToken &a, ConsumerToken &b)¶
-
template<typename
T, typenameTraits= ConcurrentQueueDefaultTraits>
classConcurrentQueue¶ Public Types
-
typedef moodycamel::ProducerToken
producer_token_t¶
-
typedef moodycamel::ConsumerToken
consumer_token_t¶
-
typedef Traits::index_t
index_t¶
-
typedef Traits::size_t
size_t¶
Public Functions
-
ConcurrentQueue(size_t capacity = 6 * BLOCK_SIZE)¶
-
~ConcurrentQueue()¶
-
ConcurrentQueue(ConcurrentQueue const&)¶
-
ConcurrentQueue &
operator=(ConcurrentQueue const&)¶
-
ConcurrentQueue(ConcurrentQueue &&other)¶
-
ConcurrentQueue &
operator=(ConcurrentQueue &&other)¶
-
void
swap(ConcurrentQueue &other)¶
-
bool
enqueue(T const &item)¶
-
bool
enqueue(T &&item)¶
-
bool
enqueue(producer_token_t const &token, T const &item)¶
-
bool
enqueue(producer_token_t const &token, T &&item)¶
-
template<typename
It>
boolenqueue_bulk(producer_token_t const &token, It itemFirst, size_t count)¶
-
bool
try_enqueue(T const &item)¶
-
bool
try_enqueue(T &&item)¶
-
bool
try_enqueue(producer_token_t const &token, T const &item)¶
-
bool
try_enqueue(producer_token_t const &token, T &&item)¶
-
template<typename
It>
booltry_enqueue_bulk(producer_token_t const &token, It itemFirst, size_t count)¶
-
template<typename
U>
booltry_dequeue(consumer_token_t &token, U &item)¶
-
template<typename
It>
size_ttry_dequeue_bulk(consumer_token_t &token, It itemFirst, size_t max)¶
-
template<typename
U>
booltry_dequeue_from_producer(producer_token_t const &producer, U &item)¶
-
template<typename
It>
size_ttry_dequeue_bulk_from_producer(producer_token_t const &producer, It itemFirst, size_t max)¶
Public Static Functions
-
static bool
is_lock_free()¶
Public Static Attributes
-
const size_t
EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD= static_cast<size_t>(Traits::EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD)¶
-
const size_t
EXPLICIT_INITIAL_INDEX_SIZE= static_cast<size_t>(Traits::EXPLICIT_INITIAL_INDEX_SIZE)¶
-
const size_t
IMPLICIT_INITIAL_INDEX_SIZE= static_cast<size_t>(Traits::IMPLICIT_INITIAL_INDEX_SIZE)¶
-
const size_t
INITIAL_IMPLICIT_PRODUCER_HASH_SIZE= static_cast<size_t>(Traits::INITIAL_IMPLICIT_PRODUCER_HASH_SIZE)¶
-
const std::uint32_t
EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE= static_cast<std::uint32_t>(Traits::EXPLICIT_CONSUMER_CONSUMPTION_QUOTA_BEFORE_ROTATE)¶
-
const size_t moodycamel::ConcurrentQueue::MAX_SUBQUEUE_SIZE = (details::const_numeric_max<size_t>::value - static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) < BLOCK_SIZE) ? details::const_numeric_max<size_t>::value : ((static_cast<size_t>(Traits::MAX_SUBQUEUE_SIZE) + (BLOCK_SIZE - 1)) / BLOCK_SIZE * BLOCK_SIZE)
Private Types
Private Functions
-
ConcurrentQueue &
swap_internal(ConcurrentQueue &other)¶
-
template<AllocationMode
canAlloc, typenameU>
boolinner_enqueue(producer_token_t const &token, U &&element)¶
-
template<AllocationMode
canAlloc, typenameU>
boolinner_enqueue(U &&element)¶
-
template<AllocationMode
canAlloc, typenameIt>
boolinner_enqueue_bulk(producer_token_t const &token, It itemFirst, size_t count)¶
-
template<AllocationMode
canAlloc, typenameIt>
boolinner_enqueue_bulk(It itemFirst, size_t count)¶
-
bool
update_current_producer_after_rotation(consumer_token_t &token)¶
-
template<AllocationMode
canAlloc>
Block *requisition_block()¶
-
ProducerBase *
recycle_or_create_producer(bool isExplicit)¶
-
ProducerBase *
recycle_or_create_producer(bool isExplicit, bool &recycled)¶
-
ProducerBase *
add_producer(ProducerBase *producer)¶
-
void
reown_producers()¶
-
void
populate_initial_implicit_producer_hash()¶
-
void
swap_implicit_producer_hashes(ConcurrentQueue &other)¶
-
ImplicitProducer *
get_or_add_implicit_producer()¶
Private Members
-
std::atomic<ProducerBase *>
producerListTail¶
-
std::atomic<ImplicitProducerHash *>
implicitProducerHash¶
-
ImplicitProducerHash
initialImplicitProducerHash¶
-
std::array<ImplicitProducerKVP, INITIAL_IMPLICIT_PRODUCER_HASH_SIZE>
initialImplicitProducerHashEntries¶
Private Static Functions
Friends
-
friend
moodycamel::ProducerToken
-
friend
moodycamel::ConsumerToken
-
friend
moodycamel::ExplicitProducer
-
friend
moodycamel::ImplicitProducer
-
friend
moodycamel::ConcurrentQueueTests
-
struct
Block¶ Public Functions
-
template<>
Block()¶
-
template<InnerQueueContext
context>
boolis_empty() const¶
-
template<InnerQueueContext
context>
boolset_empty(index_t i)¶
-
template<InnerQueueContext
context>
boolset_many_empty(index_t i, size_t count)¶
-
template<InnerQueueContext
context>
voidset_all_empty()¶
-
template<InnerQueueContext
context>
voidreset_empty()¶
-
template<>
T *operator[](index_t idx)¶
-
template<>
T const *operator[](index_t idx) const¶
Public Members
-
template<>
charelements[sizeof(T) *BLOCK_SIZE]¶
-
template<>
details::max_align_tdummy¶
-
template<>
Block *next¶
-
std::atomic<bool> moodycamel::ConcurrentQueue< T, Traits >::Block::emptyFlags[BLOCK_SIZE<=EXPLICIT_BLOCK_EMPTY_COUNTER_THRESHOLD ? BLOCK_SIZE :1]
-
template<>
booldynamicallyAllocated¶
Private Members
-
template<>
union moodycamel::ConcurrentQueue::Block::[anonymous] [anonymous]¶
-
template<>
-
struct
ExplicitProducer: public moodycamel::ConcurrentQueue<T, Traits>::ProducerBase¶ Public Functions
-
template<>
ExplicitProducer(ConcurrentQueue *parent)¶
-
template<>
~ExplicitProducer()¶
-
template<AllocationMode
allocMode, typenameU>
boolenqueue(U &&element)¶
-
template<typename
U>
booldequeue(U &element)¶
-
template<AllocationMode
allocMode, typenameIt>
boolenqueue_bulk(It itemFirst, size_t count)¶
-
template<typename
It>
size_tdequeue_bulk(It &itemFirst, size_t max)¶
Private Functions
-
template<>
boolnew_block_index(size_t numberOfFilledSlotsToExpose)¶
Private Members
-
template<>
size_tpr_blockIndexSlotsUsed¶
-
template<>
size_tpr_blockIndexSize¶
-
template<>
size_tpr_blockIndexFront¶
-
template<>
BlockIndexEntry *pr_blockIndexEntries¶
-
template<>
void *pr_blockIndexRaw¶
-
struct
BlockIndexEntry¶
-
struct
BlockIndexHeader¶
-
template<>
-
template<typename
N>
structFreeList¶ Public Functions
-
template<>
FreeList()¶
-
template<>
voidswap(FreeList &other)¶
-
template<>
FreeList &operator=(FreeList const&)¶
-
template<>
voidadd(N *node)¶
-
template<>
N *try_get()¶
-
template<>
N *head_unsafe() const¶
Private Functions
-
template<>
voidadd_knowing_refcount_is_zero(N *node)¶
-
template<>
-
struct
ImplicitProducer: public moodycamel::ConcurrentQueue<T, Traits>::ProducerBase¶ Public Functions
-
template<>
ImplicitProducer(ConcurrentQueue *parent)¶
-
template<>
~ImplicitProducer()¶
-
template<AllocationMode
allocMode, typenameU>
boolenqueue(U &&element)¶
-
template<typename
U>
booldequeue(U &element)¶
-
template<AllocationMode
allocMode, typenameIt>
boolenqueue_bulk(It itemFirst, size_t count)¶
-
template<typename
It>
size_tdequeue_bulk(It &itemFirst, size_t max)¶
Private Functions
-
template<AllocationMode
allocMode>
boolinsert_block_index_entry(BlockIndexEntry *&idxEntry, index_t blockStartIndex)¶
-
template<>
voidrewind_block_index_tail()¶
-
template<>
BlockIndexEntry *get_block_index_entry_for_index(index_t index) const¶
-
template<>
size_tget_block_index_index_for_index(index_t index, BlockIndexHeader *&localBlockIndex) const¶
-
template<>
boolnew_block_index()¶
Private Members
-
template<>
size_tnextBlockIndexCapacity¶
Private Static Attributes
-
template<>
const index_tINVALID_BLOCK_BASE= 1¶
-
struct
BlockIndexEntry¶
-
struct
BlockIndexHeader¶
-
template<>
-
struct
ImplicitProducerHash¶
-
struct
ImplicitProducerKVP¶ Public Functions
-
template<>
ImplicitProducerKVP()¶
-
template<>
ImplicitProducerKVP(ImplicitProducerKVP &&other)¶
-
template<>
ImplicitProducerKVP &operator=(ImplicitProducerKVP &&other)¶
-
template<>
voidswap(ImplicitProducerKVP &other)¶
-
template<>
-
struct
ProducerBase: public moodycamel::details::ConcurrentQueueProducerTypelessBase¶ Public Functions
-
template<>
ProducerBase(ConcurrentQueue *parent_, bool isExplicit_)¶
-
template<>
virtual~ProducerBase()¶
-
template<typename
U>
booldequeue(U &element)¶
-
template<typename
It>
size_tdequeue_bulk(It &itemFirst, size_t max)¶
-
template<>
ProducerBase *next_prod() const¶
-
template<>
size_tsize_approx() const¶
-
template<>
index_tgetTail() const¶
-
template<>
-
typedef moodycamel::ProducerToken
-
struct
ConcurrentQueueDefaultTraits¶ -
Public Static Attributes
-
const size_t
MAX_SUBQUEUE_SIZE= details::const_numeric_max<size_t>::value¶
-
const size_t
-
struct
ConsumerToken¶ Public Functions
-
ConsumerToken(ConsumerToken &&other)¶
-
ConsumerToken &
operator=(ConsumerToken &&other)¶
-
void
swap(ConsumerToken &other)¶
-
ConsumerToken(ConsumerToken const&)¶
-
ConsumerToken &
operator=(ConsumerToken const&)¶
Private Members
-
details::ConcurrentQueueProducerTypelessBase *
currentProducer¶
-
details::ConcurrentQueueProducerTypelessBase *
desiredProducer¶
Friends
-
friend
moodycamel::ConcurrentQueue
-
friend
moodycamel::ConcurrentQueueTests
-
-
struct
ProducerToken¶ Public Functions
-
ProducerToken(ProducerToken &&other)¶
-
ProducerToken &
operator=(ProducerToken &&other)¶
-
void
swap(ProducerToken &other)¶
-
bool
valid() const¶
-
~ProducerToken()¶
-
ProducerToken(ProducerToken const&)¶
-
ProducerToken &
operator=(ProducerToken const&)¶
Protected Attributes
-
details::ConcurrentQueueProducerTypelessBase *
producer¶
Friends
-
friend
moodycamel::ConcurrentQueue
-
friend
moodycamel::ConcurrentQueueTests
-
-
namespace
details¶ -
Functions
-
static thread_id_t
thread_id()¶
-
static bool() moodycamel::details::likely(bool x)
-
static bool() moodycamel::details::unlikely(bool x)
-
static size_t
hash_thread_id(thread_id_t id)¶
-
template<typename
U>
static char *align_for(char *ptr)¶
-
template<bool
use32>
struct_hash_32_or_64¶
-
template<>
struct_hash_32_or_64<1>¶
-
struct
ConcurrentQueueProducerTypelessBase¶ Public Functions
-
ConcurrentQueueProducerTypelessBase()¶
Public Members
-
ProducerToken *
token¶
-
-
template<typename
T>
structconst_numeric_max¶ Public Static Attributes
-
const T moodycamel::details::const_numeric_max::value= std::numeric_limits<T>::is_signed ? (static_cast<T>(1) << (sizeof(T) * CHAR_BIT - 1)) - static_cast<T>(1) : static_cast<T>(-1)
-
-
union
max_align_t¶
-
template<bool
Enable>
structnomove_if¶
-
template<>
structnomove_if<false>¶
-
template<>
structstatic_is_lock_free<bool>¶
-
template<typename
U>
structstatic_is_lock_free<U *>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_POINTER_LOCK_FREE
-
-
enum [anonymous]¶
-
template<typename
T>
structstatic_is_lock_free_num¶ Public Types
-
enum [anonymous]¶
Values:
-
value= 0
-
-
enum [anonymous]¶
-
template<>
structstatic_is_lock_free_num<int>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_INT_LOCK_FREE
-
-
enum [anonymous]¶
-
template<>
structstatic_is_lock_free_num<long>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_LONG_LOCK_FREE
-
-
enum [anonymous]¶
-
template<>
structstatic_is_lock_free_num<long long>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_LLONG_LOCK_FREE
-
-
enum [anonymous]¶
-
template<>
structstatic_is_lock_free_num<short>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_SHORT_LOCK_FREE
-
-
enum [anonymous]¶
-
template<>
structstatic_is_lock_free_num<signed char>¶ Public Types
-
enum [anonymous]¶
Values:
-
value= ATOMIC_CHAR_LOCK_FREE
-
-
enum [anonymous]¶
-
template<typename
thread_id_t>
structthread_id_converter¶ -
Public Static Functions
-
static thread_id_hash_t
prehash(thread_id_t const &x)¶
-
static thread_id_hash_t
-
static thread_id_t
-
template<typename
#include <hpx/concurrency/cache_line_data.hpp>¶
-
template<typename
Data>
structcache_aligned_data<Data, std::false_type>¶ Public Functions
-
cache_aligned_data()¶
-
cache_aligned_data(Data &&data)¶
-
cache_aligned_data(Data const &data)¶
Public Members
-
Data
data_¶
-
-
namespace
hpx -
namespace
threads
-
namespace
#include <hpx/concurrency/deque.hpp>¶
-
namespace
boost¶ -
namespace
lockfree¶ -
-
template<typename
T, typenamefreelist_t= caching_freelist_t, typenameAlloc= std::allocator<T>>
structdeque¶ Public Types
-
typedef deque_node<T>
node¶
-
typedef deque_anchor<T>
anchor¶
-
typedef std::conditional<std::is_same<freelist_t, caching_freelist_t>::value, caching_freelist<node, node_allocator>, static_freelist<node, node_allocator>>::type
pool¶
Public Functions
-
HPX_NON_COPYABLE(deque)¶
-
~deque()¶
-
bool
empty() const¶
-
bool
is_lock_free() const¶
-
bool
push_left(T const &data)¶
-
bool
push_right(T const &data)¶
-
bool
pop_left(T &r)¶
-
bool
pop_left(T *r)¶
-
bool
pop_right(T &r)¶
-
bool
pop_right(T *r)¶
Private Functions
-
void
stabilize_left(anchor_pair &lrs)¶
-
void
stabilize_right(anchor_pair &lrs)¶
-
void
stabilize(anchor_pair &lrs)¶
-
typedef deque_node<T>
-
template<typename
T>
structdeque_anchor¶ Public Types
-
typedef deque_node<T>
node¶
Public Functions
-
deque_anchor()¶
-
deque_anchor(deque_anchor const &p)¶
-
bool
cas(deque_anchor &expected, deque_anchor const &desired) volatile¶
-
bool
operator==(volatile deque_anchor const &rhs) const¶
-
bool
operator!=(volatile deque_anchor const &rhs) const¶
-
bool
is_lock_free() const¶
Private Members
-
atomic_pair
pair_¶
-
typedef deque_node<T>
-
template<typename
T>
structdeque_node¶ Public Types
-
typedef detail::tagged_ptr<deque_node>
pointer¶
Public Functions
-
deque_node()¶
-
deque_node(deque_node const &p)¶
-
deque_node(deque_node *lptr, deque_node *rptr, T const &v, tag_t ltag = 0, tag_t rtag = 0)¶
-
typedef detail::tagged_ptr<deque_node>
-
template<typename
-
namespace
#include <hpx/concurrency/thread_name.hpp>¶
#include <hpx/concurrency/itt_notify.hpp>¶
Defines
-
HPX_ITT_SYNC_CREATE(obj, type, name)¶
-
HPX_ITT_SYNC_RENAME(obj, name)¶
-
HPX_ITT_SYNC_PREPARE(obj)¶
-
HPX_ITT_SYNC_CANCEL(obj)¶
-
HPX_ITT_SYNC_ACQUIRED(obj)¶
-
HPX_ITT_SYNC_RELEASING(obj)¶
-
HPX_ITT_SYNC_RELEASED(obj)¶
-
HPX_ITT_SYNC_DESTROY(obj)¶
-
HPX_ITT_STACK_CREATE(ctx)¶
-
HPX_ITT_STACK_CALLEE_ENTER(ctx)¶
-
HPX_ITT_STACK_CALLEE_LEAVE(ctx)¶
-
HPX_ITT_STACK_DESTROY(ctx)¶
-
HPX_ITT_FRAME_BEGIN(frame, id)¶
-
HPX_ITT_FRAME_END(frame, id)¶
-
HPX_ITT_MARK_CREATE(mark, name)¶
-
HPX_ITT_MARK_OFF(mark)¶
-
HPX_ITT_MARK(mark, parameter)¶
-
HPX_ITT_THREAD_SET_NAME(name)¶
-
HPX_ITT_THREAD_IGNORE()¶
-
HPX_ITT_TASK_BEGIN(domain, name)¶
-
HPX_ITT_TASK_BEGIN_ID(domain, id, name)¶
-
HPX_ITT_TASK_END(domain)¶
-
HPX_ITT_DOMAIN_CREATE(name)¶
-
HPX_ITT_STRING_HANDLE_CREATE(name)¶
-
HPX_ITT_MAKE_ID(addr, extra)¶
-
HPX_ITT_ID_CREATE(domain, id)¶
-
HPX_ITT_ID_DESTROY(id)¶
-
HPX_ITT_HEAP_FUNCTION_CREATE(name, domain)¶
-
HPX_ITT_HEAP_ALLOCATE_BEGIN(f, size, initialized)¶
-
HPX_ITT_HEAP_ALLOCATE_END(f, addr, size, initialized)¶
-
HPX_ITT_HEAP_FREE_BEGIN(f, addr)¶
-
HPX_ITT_HEAP_FREE_END(f, addr)¶
-
HPX_ITT_HEAP_REALLOCATE_BEGIN(f, addr, new_size, initialized)¶
-
HPX_ITT_HEAP_REALLOCATE_END(f, addr, new_addr, new_size, initialized)¶
-
HPX_ITT_HEAP_INTERNAL_ACCESS_BEGIN()¶
-
HPX_ITT_HEAP_INTERNAL_ACCESS_END()¶
-
HPX_ITT_COUNTER_CREATE(name, domain)¶
-
HPX_ITT_COUNTER_CREATE_TYPED(name, domain, type)¶
-
HPX_ITT_COUNTER_SET_VALUE(id, value_ptr)¶
-
HPX_ITT_COUNTER_DESTROY(id)¶
-
HPX_ITT_METADATA_ADD(domain, id, key, data)¶
Typedefs
-
typedef void *
__itt_heap_function¶
Functions
-
void
itt_sync_create(void *, const char *, const char *)¶
-
void
itt_sync_rename(void *, const char *)¶
-
void
itt_sync_prepare(void *)¶
-
void
itt_sync_acquired(void *)¶
-
void
itt_sync_cancel(void *)¶
-
void
itt_sync_releasing(void *)¶
-
void
itt_sync_released(void *)¶
-
void
itt_sync_destroy(void *)¶
-
___itt_caller *
itt_stack_create()¶
-
void
itt_stack_enter(___itt_caller *)¶
-
void
itt_stack_leave(___itt_caller *)¶
-
void
itt_stack_destroy(___itt_caller *)¶
-
void
itt_frame_begin(___itt_domain const *, ___itt_id *)¶
-
void
itt_frame_end(___itt_domain const *, ___itt_id *)¶
-
int
itt_mark_create(char const *)¶
-
void
itt_mark_off(int)¶
-
void
itt_mark(int, char const *)¶
-
void
itt_thread_set_name(char const *)¶
-
void
itt_thread_ignore()¶
-
void
itt_task_begin(___itt_domain const *, ___itt_string_handle *)¶
-
void
itt_task_begin(___itt_domain const *, ___itt_id *, ___itt_string_handle *)¶
-
void
itt_task_end(___itt_domain const *)¶
-
___itt_domain *
itt_domain_create(char const *)¶
-
___itt_string_handle *
itt_string_handle_create(char const *)¶
-
___itt_id *
itt_make_id(void *, unsigned long)¶
-
void
itt_id_create(___itt_domain const *, ___itt_id *)¶
-
void
itt_id_destroy(___itt_id *)¶
-
__itt_heap_function
itt_heap_function_create(const char *, const char *)¶
-
void
itt_heap_allocate_begin(__itt_heap_function, std::size_t, int)¶
-
void
itt_heap_allocate_end(__itt_heap_function, void **, std::size_t, int)¶
-
void
itt_heap_free_begin(__itt_heap_function, void *)¶
-
void
itt_heap_free_end(__itt_heap_function, void *)¶
-
void
itt_heap_reallocate_begin(__itt_heap_function, void *, std::size_t, int)¶
-
void
itt_heap_reallocate_end(__itt_heap_function, void *, void **, std::size_t, int)¶
-
void
itt_heap_internal_access_begin()¶
-
void
itt_heap_internal_access_end()¶
-
___itt_counter *
itt_counter_create(char const *, char const *)¶
-
___itt_counter *
itt_counter_create_typed(char const *, char const *, int)¶
-
void
itt_counter_destroy(___itt_counter *)¶
-
void
itt_counter_set_value(___itt_counter *, void *)¶
-
int
itt_event_create(char const *, int)¶
-
int
itt_event_start(int)¶
-
int
itt_event_end(int)¶
-
void
itt_metadata_add(___itt_domain *, ___itt_id *, ___itt_string_handle *, double const&)¶
-
void
itt_metadata_add(___itt_domain *, ___itt_id *, ___itt_string_handle *, char const *)¶
-
void
itt_metadata_add(___itt_domain *, ___itt_id *, ___itt_string_handle *, void const *)¶
-
namespace
hpx -
namespace
util -
namespace
itt¶ -
-
struct
caller_context¶
-
struct
counter¶
-
struct
domain¶ Subclassed by hpx::util::itt::thread_domain
-
struct
frame_context¶
-
struct
heap_allocate¶ Public Functions
-
template<typename
T>heap_allocate(heap_function&, T **, std::size_t, int)¶
-
~heap_allocate()¶
-
template<typename
-
struct
heap_free¶
-
struct
heap_function¶
-
struct
heap_internal_access¶
-
struct
id¶
-
struct
mark_context¶
-
struct
mark_event¶
-
struct
stack_context¶
-
struct
task¶ Public Functions
-
task(domain const&, string_handle const&, std::uint64_t)¶
-
task(domain const&, string_handle const&)¶
-
~task()¶
-
-
struct
undo_frame_context¶
-
struct
undo_mark_context¶
-
struct
-
namespace
-
namespace