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

Classes

struct  serif::utils::dependencies::Binding< KeyT, TargetT >
 
struct  serif::utils::dependencies::Bindings< BindingTs >
 
struct  serif::utils::dependencies::detail::HasBinding< Bindings< BindingTs... >, KeyT >
 
struct  serif::utils::dependencies::detail::BindingLookup< Bindings< BindingTs... > >
 Share one compile-time lookup structure across all keys in a binding collection. More...
 
struct  serif::utils::dependencies::detail::BoundType< BindingsT, KeyT >
 
struct  serif::utils::dependencies::HasBinding< BindingsT, KeyT >
 
struct  serif::utils::dependencies::BoundType< BindingsT, KeyT >
 

Namespaces

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

Concepts

concept  serif::utils::dependencies::IsBinding
 
concept  serif::utils::dependencies::IsBindings
 
concept  serif::utils::dependencies::BindingsWithBinding
 

Typedefs

template<typename BindingsT, typename KeyT>
using serif::utils::dependencies::bound_type_t = BoundType<BindingsT, KeyT>::target_type
 

Variables

template<typename... Types>
constexpr bool serif::utils::dependencies::detail::valid_binding_types_v
 Validate each binding without an implicit constraint fold proportional to the collection size.
 
template<typename T>
constexpr bool serif::utils::dependencies::is_bindings_v = false
 
template<typename... BindingTs>
constexpr bool serif::utils::dependencies::is_bindings_v< Bindings< BindingTs... > > = misc::traits::all_unique_types_v<typename BindingTs::Key...>
 
template<IsBindings BindingsT, typename KeyT>
constexpr bool serif::utils::dependencies::has_binding_v = HasBinding<BindingsT, KeyT>::value