key_list_operations.hpp cstddef type_traits serif/utils/dependencies/detail/type_lists.hpp src/compile_time_checks/serif/utils/dependencies/dependency_context.cpp src/compile_time_checks/serif/utils/dependencies/key_list.cpp src/include/serif/backend/mfem/discretization/resources.hpp src/include/serif/backend/mfem/geometry/surface/pressure_field_block.hpp src/include/serif/discretization/blocks/system_layout.hpp src/include/serif/geometry/surface/detail/relations.hpp src/include/serif/model/detail/specification_endpoints.hpp src/include/serif/operators/plan.hpp src/include/serif/solver/continuation/parameters.hpp src/include/serif/solver/normalization/metrics.hpp src/include/serif/utils/dependencies/computation_graph.hpp src/include/serif/utils/dependencies/dependencies.hpp serif serif::utils serif::utils::dependencies #pragmaonce #include<cstddef> #include<type_traits> #include"serif/utils/dependencies/detail/type_lists.hpp" namespaceserif::utils::dependencies{ template<typenameKeyT,typenameKeysT> conceptContainsKey=IsKeyList<KeysT>&&detail::contains_key_v<KeyT, std::remove_cvref_t<KeysT>>; template<IsKeyListKeysT> inlineconstexprstd::size_tkey_count_v=detail::KeyListSize<std::remove_cvref_t<KeysT>>::value; template<typenameKeyT,typenameKeysT> requiresContainsKey<KeyT, KeysT> [[nodiscard]]constevalstd::size_tkey_index(){ returndetail::type_index<KeyT>(typenamestd::remove_cvref_t<KeysT>::Keys{}); } template<IsKeyList...Lists> usingCombinedKeyList=detail::MergeKeyLists<KeyList<>,std::remove_cvref_t<Lists>...>::type; }