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

Namespaces

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

Concepts

concept  serif::utils::dependencies::ContainsKey
 Test exact key membership, rejecting malformed and duplicate-key lists.
 

Typedefs

template<IsKeyList... Lists>
using serif::utils::dependencies::CombinedKeyList = detail::MergeKeyLists<KeyList<>, std::remove_cvref_t<Lists>...>::type
 Combine requirements in first-appearance order, retaining distinct keys with shared targets.
 

Functions

template<typename KeyT, typename KeysT>
requires ContainsKey<KeyT, KeysT>
consteval std::size_t serif::utils::dependencies::key_index ()
 Locate a declared key in its ordered list; absent keys are rejected at compile time.
 

Variables

template<IsKeyList KeysT>
constexpr std::size_t serif::utils::dependencies::key_count_v = detail::KeyListSize<std::remove_cvref_t<KeysT>>::value
 Count distinct declared keys without constructing their associated values.