tbb::internal::preceding_lane_selector Struct Reference

`#include <task_stream_extended.h>`

Inheritance diagram for tbb::internal::preceding_lane_selector:
Collaboration diagram for tbb::internal::preceding_lane_selector:

## Public Member Functions

| preceding_lane_selector (unsigned &previous)
unsigned | operator() (unsigned out_of) const
Public Member Functions inherited from tbb::internal::lane_selector_base
| lane_selector_base (unsigned &previous)
Public Member Functions inherited from tbb::internal::no_copy
| no_copy (const no_copy &)=delete
| no_copy ()=default

## Additional Inherited Members

Public Attributes inherited from tbb::internal::lane_selector_base
unsigned & | my_previous

## Detailed Description

Definition at line 118 of file task_stream_extended.h.

## Constructor & Destructor Documentation

## preceding_lane_selector()

tbb::internal::preceding_lane_selector::preceding_lane_selector | ( | unsigned & | previous | ) |

inline

Definition at line 119 of file task_stream_extended.h.

: lane_selector_base( previous ) {}
tbb::internal::lane_selector_base::lane_selector_base
lane_selector_base(unsigned &previous)
Definition: task_stream_extended.h:107

## Member Function Documentation

## operator()()

unsigned tbb::internal::preceding_lane_selector::operator() | ( | unsigned | out_of | ) | const

inline

Definition at line 120 of file task_stream_extended.h.

{
__TBB_ASSERT( ((out_of-1) & out_of) == 0, "number of lanes is not power of two." );
return (--my_previous &= (out_of-1));
}
__TBB_ASSERT
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
Definition: tbb_stddef.h:165
tbb::internal::lane_selector_base::my_previous
unsigned & my_previous
Definition: task_stream_extended.h:106

References __TBB_ASSERT, and tbb::internal::lane_selector_base::my_previous.

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

- task_stream_extended.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.