|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
#include <concepts>#include <tuple>#include <type_traits>#include <utility>#include "serif/utils/dependencies/resource.hpp"#include "serif/utils/dependencies/detail/type_lists.hpp"#include "serif/utils/misc/concepts/concat.hpp"Classes | |
| class | serif::utils::dependencies::DependencyContext< ResourceTs > |
| class | serif::utils::dependencies::DependencyContextView< ParentT, KeyList< KeyTs... > > |
Namespaces | |
| namespace | serif |
| namespace | serif::utils |
| namespace | serif::utils::dependencies |
| namespace | serif::utils::dependencies::detail |
Concepts | |
| concept | serif::utils::dependencies::IsDependencyContext |
Functions | |
| template<typename... Resources> requires (IsResource<Resources> && ...) && misc::traits::all_unique_types_v<typename std::remove_cvref_t<Resources>::Key...> | |
| auto | serif::utils::dependencies::make_dependency_context (Resources &&... resources) |
| Build a context whose schema follows directly from its resource keys and types. | |
| template<typename... Resources> | |
| consteval bool | serif::utils::dependencies::detail::combinable_resources (types::TypeList< Resources... >) |
| Combining contexts must preserve every resource, with exactly one owner of each key. | |
| template<IsDependencyContext... Contexts> requires (detail::combinable_resources(misc::concepts::ConcatT<typename Contexts::Resources...>{})) | |
| auto | serif::utils::dependencies::combine_dependency_contexts (const Contexts &... contexts) |
| Copy disjoint resources and their tracking policies into one context; borrowed objects retain their original lifetime. | |
Variables | |
| template<typename T> | |
| constexpr bool | serif::utils::dependencies::is_dependency_context_v = false |
| template<typename... Resources> | |
| constexpr bool | serif::utils::dependencies::is_dependency_context_v< DependencyContext< Resources... > > = true |
| template<typename ParentT, typename KeysT> | |
| constexpr bool | serif::utils::dependencies::is_dependency_context_v< DependencyContextView< ParentT, KeysT > > = true |