static_reinit

#include <hpx/static_reinit/reinitializable_static.hpp>

Defines

HPX_EXPORT_REINITIALIZABLE_STATIC
namespace hpx
namespace util

Variables

template<typename T, typename Tag = T, std::size_t N = 1>
struct HPX_EXPORT_REINITIALIZABLE_STATIC reinitializable_static
template<typename T, typename Tag, std::size_t N>
struct reinitializable_static

Public Types

typedef T value_type
typedef T &reference
typedef T const &const_reference

Public Functions

HPX_NON_COPYABLE(reinitializable_static)
reinitializable_static()
template<typename U>
reinitializable_static(U const &val)
operator reference()
operator const_reference() const
reference get(std::size_t item = 0)
const_reference get(std::size_t item = 0) const

Private Types

typedef std::add_pointer<value_type>::type pointer
typedef std::aligned_storage<sizeof(value_type), std::alignment_of<value_type>::value>::type storage_type

Private Static Functions

static void default_construct()
template<typename U>
static void value_construct(U const &v)
static void destruct()
static void default_constructor()
template<typename U>
static void value_constructor(U const *pv)
static pointer get_address(std::size_t item)

Private Static Attributes

reinitializable_static<T, Tag, N>::storage_type data_
std::once_flag constructed_

#include <hpx/static_reinit/static_reinit.hpp>

namespace hpx
namespace util

Functions

void reinit_register(util::function_nonser<void()> const &constructutil::function_nonser<void()> const &destruct)
void reinit_construct()
void reinit_destruct()

#include <compatibility/hpx/util/reinitializable_static.hpp>

#include <compatibility/hpx/util/static_reinit.hpp>