SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT > Class Template Reference

#include <resource.hpp>

Public Types

using Key = KeyT
 
using Target = typename StorageT::Target
 
using Policy = PolicyT
 

Public Member Functions

 Resource (StorageT storage, PolicyT policy)
 Keep storage and its tracking policy together under one role key.
 
const Target & get () const
 Read the resource without allowing computations to mutate their inputs.
 
const PolicyT & policy () const
 Expose tracking separately from the value passed to a computation.
 

Private Attributes

StorageT m_storage
 
PolicyT m_policy
 

Member Typedef Documentation

◆ Key

template<typename KeyT, typename StorageT, typename PolicyT>
using serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::Key = KeyT

◆ Policy

template<typename KeyT, typename StorageT, typename PolicyT>
using serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::Policy = PolicyT

◆ Target

template<typename KeyT, typename StorageT, typename PolicyT>
using serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::Target = typename StorageT::Target

Constructor & Destructor Documentation

◆ Resource()

template<typename KeyT, typename StorageT, typename PolicyT>
serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::Resource ( StorageT storage,
PolicyT policy )
inline

Keep storage and its tracking policy together under one role key.

Member Function Documentation

◆ get()

template<typename KeyT, typename StorageT, typename PolicyT>
const Target & serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::get ( ) const
inlinenodiscard

Read the resource without allowing computations to mutate their inputs.

◆ policy()

template<typename KeyT, typename StorageT, typename PolicyT>
const PolicyT & serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::policy ( ) const
inlinenodiscard

Expose tracking separately from the value passed to a computation.

Member Data Documentation

◆ m_policy

template<typename KeyT, typename StorageT, typename PolicyT>
PolicyT serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::m_policy
private

◆ m_storage

template<typename KeyT, typename StorageT, typename PolicyT>
StorageT serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >::m_storage
private

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