Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues > Struct Template Reference

#include <memory_policy.hpp>

Public Types

using heap = HeapPolicy
 
using refcount = RefcountPolicy
 
using transience = TransiencePolicy
 
using transience_t = typename transience::template apply< heap >::type
 

Static Public Attributes

static constexpr bool prefer_fewer_bigger_objects
 
static constexpr bool use_transient_rvalues
 

Detailed Description

template<typename HeapPolicy, typename RefcountPolicy, typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
struct immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >

This is a default implementation of a memory policy. A memory policy is just a bag of other policies plus some flags with hints to the user about the best way to use these strategies.

Template Parameters
HeapPolicyA heap policy, for example, heap_policy.
RefcountPolicyA reference counting policy, for example, refcount_policy.
TransiencePolicyA transience policy, for example, no_transience_policy.
PreferFewerBiggerObjectsBoolean flag indicating whether the user should prefer to allocate memory in bigger chungs –e.g. by putting various objects in the same memory region– or not.
UseTransientRValuesBoolean flag indicating whether immutable containers should try to modify contents in-place when manipulating an r-value reference.

Definition at line 92 of file memory_policy.hpp.

Member Typedef Documentation

◆ heap

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
using immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::heap = HeapPolicy

Definition at line 94 of file memory_policy.hpp.

◆ refcount

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
using immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::refcount = RefcountPolicy

Definition at line 95 of file memory_policy.hpp.

◆ transience

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
using immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::transience = TransiencePolicy

Definition at line 96 of file memory_policy.hpp.

◆ transience_t

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
using immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::transience_t = typename transience::template apply<heap>::type

Definition at line 104 of file memory_policy.hpp.

Member Data Documentation

◆ prefer_fewer_bigger_objects

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
constexpr bool immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::prefer_fewer_bigger_objects
static
Initial value:
=
PreferFewerBiggerObjects

Definition at line 98 of file memory_policy.hpp.

◆ use_transient_rvalues

template<typename HeapPolicy , typename RefcountPolicy , typename TransiencePolicy = get_transience_policy_t<RefcountPolicy>, bool PreferFewerBiggerObjects = get_prefer_fewer_bigger_objects_v<HeapPolicy>, bool UseTransientRValues = get_use_transient_rvalues_v<RefcountPolicy>>
constexpr bool immer::memory_policy< HeapPolicy, RefcountPolicy, TransiencePolicy, PreferFewerBiggerObjects, UseTransientRValues >::use_transient_rvalues
static
Initial value:
=
UseTransientRValues

Definition at line 101 of file memory_policy.hpp.


The documentation for this struct was generated from the following file:
Released under the MIT license