catalog.hpp serif/utils/misc/concepts/type_uniqueness.hpp serif/utils/misc/std_helper/variadic_cleaning.hpp serif/dimensions/quantities.hpp src/include/serif/eos/relations/relations.hpp src/include/serif/eos/relations/traits.hpp serif::eos::relations::Relation serif::eos::relations::RelationCatalog serif serif::eos serif::eos::relations File containing the Relation and RelationCatalog structs. These structs are used to represent relations between physical quantities and to group them into catalogs for use in EOS models. Emily M. Boudreaux #pragmaonce #include"serif/utils/misc/concepts/type_uniqueness.hpp" #include"serif/utils/misc/std_helper/variadic_cleaning.hpp" #include"serif/dimensions/quantities.hpp" namespaceserif::eos::relations{ usingutils::misc::std_helper::CountVariadicArguments; usingutils::misc::concepts::AllTypesAreUnique; template<typenameOutput,typename...Inputs> structRelationfinal{ usingOutputQuantity=Output; usingInputQuantities=dimensions::QuantityList<Inputs...>; staticconstexprstd::size_tinputCount=CountVariadicArguments<Inputs...>(); }; template<typename...Relations> structRelationCatalogfinal{ staticconstexprstd::size_tsize=CountVariadicArguments<Relations...>(); }; }