tbb::interface9::internal::adaptive_mode< Partition > Struct Template Reference

Provides default splitting strategy for partition objects. More...

`#include <partitioner.h>`

Inheritance diagram for tbb::interface9::internal::adaptive_mode< Partition >:
Collaboration diagram for tbb::interface9::internal::adaptive_mode< Partition >:

## Public Types

typedef Partition | my_partition

## Public Member Functions

| adaptive_mode ()
| adaptive_mode (adaptive_mode &src, split)
size_t | do_split (adaptive_mode &src, split)
Public Member Functions inherited from tbb::internal::partition_type_base< Partition >
void | set_affinity (task &)
void | note_affinity (task::affinity_id)
task * | continue_after_execute_range ()
bool | decide_whether_to_delay ()
void | spawn_or_delay (bool, task &b)

## Public Attributes

size_t | my_divisor

## Static Public Attributes

static const unsigned | factor = 1

## Detailed Description

### template<typename Partition>
struct tbb::interface9::internal::adaptive_mode< Partition >

Provides default splitting strategy for partition objects.

Definition at line 262 of file partitioner.h.

## Member Typedef Documentation

## my_partition

template<typename Partition >

typedef Partition tbb::interface9::internal::adaptive_mode< Partition >::my_partition

Definition at line 263 of file partitioner.h.

## Constructor & Destructor Documentation

## adaptive_mode() [1/2]

template<typename Partition >

tbb::interface9::internal::adaptive_mode< Partition >::adaptive_mode | ( |  | ) |

inline

Definition at line 270 of file partitioner.h.

: my_divisor(tbb::internal::get_initial_auto_partitioner_divisor() / 4 * my_partition::factor) {}
tbb::internal::get_initial_auto_partitioner_divisor
size_t __TBB_EXPORTED_FUNC get_initial_auto_partitioner_divisor()
Definition: task.cpp:149
tbb::interface9::internal::adaptive_mode::my_divisor
size_t my_divisor
Definition: partitioner.h:264

## adaptive_mode() [2/2]

template<typename Partition >

tbb::interface9::internal::adaptive_mode< Partition >::adaptive_mode | ( | adaptive_mode< Partition > & | src,
|  | split |
| ) |  |

inline

Definition at line 271 of file partitioner.h.

: my_divisor(do_split(src, split())) {}
tbb::interface9::internal::adaptive_mode::do_split
size_t do_split(adaptive_mode &src, split)
Definition: partitioner.h:273

## Member Function Documentation

## do_split()

template<typename Partition >

size_t tbb::interface9::internal::adaptive_mode< Partition >::do_split | ( | adaptive_mode< Partition > & | src,
|  | split |
| ) |  |

inline

Override do_split methods in order to specify splitting strategy

Definition at line 273 of file partitioner.h.

{
return src.my_divisor /= 2u;
}

References tbb::interface9::internal::adaptive_mode< Partition >::my_divisor.

## Member Data Documentation

## factor

template<typename Partition >

const unsigned tbb::interface9::internal::adaptive_mode< Partition >::factor = 1

static

Definition at line 269 of file partitioner.h.

## my_divisor

template<typename Partition >

size_t tbb::interface9::internal::adaptive_mode< Partition >::my_divisor

Definition at line 264 of file partitioner.h.

Referenced by tbb::interface9::internal::adaptive_mode< Partition >::do_split(), and tbb::interface9::internal::proportional_mode< Partition >::do_split().

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

- partitioner.h

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.