Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::interface6::internal::token_helper< T, true > Class Template Reference

#include <pipeline.h>

Collaboration diagram for tbb::interface6::internal::token_helper< T, true >:

Public Types

typedef tbb::tbb_allocator< T > allocator
 
typedef T * pointer
 
typedef T value_type
 

Static Public Member Functions

static pointer create_token (value_type &&source)
 
static value_typetoken (pointer &t)
 
static voidcast_to_void_ptr (pointer ref)
 
static pointer cast_from_void_ptr (void *ref)
 
static void destroy_token (pointer token)
 

Detailed Description

template<typename T>
class tbb::interface6::internal::token_helper< T, true >

Definition at line 358 of file pipeline.h.

Member Typedef Documentation

◆ allocator

template<typename T >
typedef tbb::tbb_allocator<T> tbb::interface6::internal::token_helper< T, true >::allocator

Definition at line 360 of file pipeline.h.

◆ pointer

template<typename T >
typedef T* tbb::interface6::internal::token_helper< T, true >::pointer

Definition at line 361 of file pipeline.h.

◆ value_type

template<typename T >
typedef T tbb::interface6::internal::token_helper< T, true >::value_type

Definition at line 362 of file pipeline.h.

Member Function Documentation

◆ cast_from_void_ptr()

template<typename T >
static pointer tbb::interface6::internal::token_helper< T, true >::cast_from_void_ptr ( void ref)
inlinestatic

Definition at line 374 of file pipeline.h.

374 { return (pointer)ref; }

◆ cast_to_void_ptr()

template<typename T >
static void* tbb::interface6::internal::token_helper< T, true >::cast_to_void_ptr ( pointer  ref)
inlinestatic

Definition at line 373 of file pipeline.h.

373 { return (void *) ref; }

◆ create_token()

template<typename T >
static pointer tbb::interface6::internal::token_helper< T, true >::create_token ( value_type &&  source)
inlinestatic

Definition at line 364 of file pipeline.h.

368  {
369  pointer output_t = allocator().allocate(1);
370  return new (output_t) T(tbb::internal::move(source));
371  }

References tbb::tbb_allocator< T >::allocate(), and tbb::move().

Here is the call graph for this function:

◆ destroy_token()

template<typename T >
static void tbb::interface6::internal::token_helper< T, true >::destroy_token ( pointer  token)
inlinestatic

Definition at line 375 of file pipeline.h.

375  {
376  allocator().destroy(token);
377  allocator().deallocate(token,1);
378  }

References tbb::tbb_allocator< T >::deallocate(), and tbb::tbb_allocator< T >::destroy().

Here is the call graph for this function:

◆ token()

template<typename T >
static value_type& tbb::interface6::internal::token_helper< T, true >::token ( pointer t)
inlinestatic

Definition at line 372 of file pipeline.h.

372 { return *t; }

The documentation for this class was generated from the following file:
tbb::move
void move(tbb_thread &t1, tbb_thread &t2)
Definition: tbb_thread.h:319
tbb::interface6::internal::token_helper< T, true >::pointer
T * pointer
Definition: pipeline.h:361
tbb::interface6::internal::token_helper< T, true >::token
static value_type & token(pointer &t)
Definition: pipeline.h:372
tbb::interface6::internal::token_helper< T, true >::allocator
tbb::tbb_allocator< T > allocator
Definition: pipeline.h:360

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.