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

Classes

class  serif::utils::dependencies::Computation< KeyT, InputsT, FunctionT, OwnsInputs >
 

Namespaces

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

Concepts

concept  serif::utils::dependencies::IsComputation
 

Functions

template<typename KeyT, IsKeyList InputsT, typename FunctionT>
requires std::constructible_from<std::decay_t<FunctionT>, FunctionT>
auto serif::utils::dependencies::make_computation (FunctionT &&function)
 Attach an output key and ordered input keys to a lambda, function, or other callable.
 
template<typename KeyT, IsKeyList InputsT, typename FunctionT>
requires std::constructible_from<std::decay_t<FunctionT>, FunctionT>
auto serif::utils::dependencies::make_owning_computation (FunctionT &&function)
 Supply immutable shared handles to computed prerequisites so results can retain them without copying.
 

Variables

template<typename T>
constexpr bool serif::utils::dependencies::is_computation_v = false
 
template<typename KeyT, typename InputsT, typename FunctionT, bool OwnsInputs>
constexpr bool serif::utils::dependencies::is_computation_v< Computation< KeyT, InputsT, FunctionT, OwnsInputs > > = true