hpx/concurrency/cache_line_data.hpp

See Public API for a list of names and headers that are part of the public HPX API.

template<typename Data>
struct cache_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_
template<typename Data>
struct cache_aligned_data_derived<Data, std::false_type> : public Data

Public Functions

cache_aligned_data_derived()
cache_aligned_data_derived(Data &&data)
cache_aligned_data_derived(Data const &data)
namespace hpx
namespace threads

Functions

constexpr std::size_t get_cache_line_size()
namespace util

Typedefs

template<typename Data>
using cache_line_data = cache_aligned_data<Data>
template<typename Data, typename NeedsPadding = typename detail::needs_padding<Data>::type>
struct cache_aligned_data

Public Functions

cache_aligned_data()
cache_aligned_data(Data &&data)
cache_aligned_data(Data const &data)

Public Members

Data data_
template<>
char cacheline_pad[get_cache_line_padding_size(sizeof(Data))]
template<typename Data>
struct cache_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_
template<typename Data, typename NeedsPadding = typename detail::needs_padding<Data>::type>
struct cache_aligned_data_derived : public Data

Public Functions

cache_aligned_data_derived()
cache_aligned_data_derived(Data &&data)
cache_aligned_data_derived(Data const &data)

Public Members

template<>
char cacheline_pad[get_cache_line_padding_size(sizeof(Data))]
template<typename Data>
struct cache_aligned_data_derived<Data, std::false_type> : public Data

Public Functions

cache_aligned_data_derived()
cache_aligned_data_derived(Data &&data)
cache_aligned_data_derived(Data const &data)