SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
resource.hpp File Reference
#include <functional>
#include <type_traits>
#include <utility>
#include "serif/utils/dependencies/snapshot.hpp"
Include dependency graph for resource.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  serif::utils::dependencies::detail::OwnedValue< T >
 
struct  serif::utils::dependencies::detail::BorrowedValue< T >
 
class  serif::utils::dependencies::Resource< KeyT, StorageT, PolicyT >
 

Namespaces

namespace  serif
 
namespace  serif::utils
 
namespace  serif::utils::dependencies
 
namespace  serif::utils::dependencies::detail
 

Concepts

concept  serif::utils::dependencies::IsResource
 

Functions

template<typename KeyT, typename ValueT, typename PolicyT = ValueSnapshot>
auto serif::utils::dependencies::own (ValueT &&value, PolicyT policy={})
 Store a value in the context; rvalues transfer ownership and lvalues are copied.
 
template<typename KeyT, typename ValueT, typename PolicyT = ValueSnapshot>
auto serif::utils::dependencies::borrow (ValueT &value, PolicyT policy={})
 Bind an existing object whose lifetime must cover every use of the context.
 
template<typename KeyT, typename ValueT, typename PolicyT = ValueSnapshot>
auto serif::utils::dependencies::borrow (const ValueT &&, PolicyT={})=delete
 Borrowed storage must never refer to a temporary, including a const temporary.
 

Variables

template<typename T>
constexpr bool serif::utils::dependencies::is_resource_v = false
 
template<typename KeyT, typename StorageT, typename PolicyT>
constexpr bool serif::utils::dependencies::is_resource_v< Resource< KeyT, StorageT, PolicyT > > = true