tbb::interface7::internal::padded_mutex< Mutex, true > Class Template Reference

`#include <_mutex_padding.h>`

Inheritance diagram for tbb::interface7::internal::padded_mutex< Mutex, true >:
Collaboration diagram for tbb::interface7::internal::padded_mutex< Mutex, true >:

## Classes

class | scoped_lock
| Represents acquisition of a mutex. More...

## Public Member Functions

| padded_mutex ()
| ~padded_mutex ()

## Static Public Attributes

static const bool | is_rw_mutex = Mutex::is_rw_mutex
static const bool | is_recursive_mutex = Mutex::is_recursive_mutex
static const bool | is_fair_mutex = Mutex::is_fair_mutex

## Private Types

typedef long | pad_type

## Private Member Functions

Mutex * | impl ()

## Private Attributes

pad_type | my_pad [((sizeof(Mutex)+cache_line_size-1)/cache_line_size+1) *cache_line_size/sizeof(pad_type)]

## Detailed Description

### template<typename Mutex>
class tbb::interface7::internal::padded_mutex< Mutex, true >

Definition at line 64 of file _mutex_padding.h.

## Member Typedef Documentation

## pad_type

template<typename Mutex >

typedef long tbb::interface7::internal::padded_mutex< Mutex, true >::pad_type

private

Definition at line 65 of file _mutex_padding.h.

## Constructor & Destructor Documentation

## padded_mutex()

template<typename Mutex >

tbb::interface7::internal::padded_mutex< Mutex, true >::padded_mutex | ( |  | ) |

inline

Definition at line 75 of file _mutex_padding.h.

{ new(impl()) Mutex(); }

## ~padded_mutex()

template<typename Mutex >

tbb::interface7::internal::padded_mutex< Mutex, true >::~padded_mutex | ( |  | ) |

inline

Definition at line 76 of file _mutex_padding.h.

{ impl()->~Mutex(); }

## Member Function Documentation

## impl()

template<typename Mutex >

Mutex* tbb::interface7::internal::padded_mutex< Mutex, true >::impl | ( |  | ) |

inline private

Definition at line 68 of file _mutex_padding.h.

{ return (Mutex *)((uintptr_t(this)|(cache_line_size-1))+1);}

References tbb::interface7::internal::cache_line_size.

## Member Data Documentation

## is_fair_mutex

template<typename Mutex >

const bool tbb::interface7::internal::padded_mutex< Mutex, true >::is_fair_mutex = Mutex::is_fair_mutex

static

Definition at line 73 of file _mutex_padding.h.

## is_recursive_mutex

template<typename Mutex >

const bool tbb::interface7::internal::padded_mutex< Mutex, true >::is_recursive_mutex = Mutex::is_recursive_mutex

static

Definition at line 72 of file _mutex_padding.h.

## is_rw_mutex

template<typename Mutex >

const bool tbb::interface7::internal::padded_mutex< Mutex, true >::is_rw_mutex = Mutex::is_rw_mutex

static

Definition at line 71 of file _mutex_padding.h.

## my_pad

template<typename Mutex >

pad_type tbb::interface7::internal::padded_mutex< Mutex, true >::my_pad[((sizeof(Mutex)+cache_line_size-1)/cache_line_size+1) *cache_line_size/sizeof(pad_type)]

private

Definition at line 66 of file _mutex_padding.h.

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

- _mutex_padding.h

tbb::interface7::internal::cache_line_size
static const size_t cache_line_size
Definition: _mutex_padding.h:28
tbb::interface7::internal::padded_mutex< Mutex, true >::impl
Mutex * impl()
Definition: _mutex_padding.h:68

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.