#pragma once #include #include #include #include #include namespace fesa { enum class ResolvedSetScope { global, part, assembly }; enum class ResolvedSetKind { node, element }; struct ResolvedSet final { std::string scope_name; std::string set_name; std::vector sorted_unique_labels; ResolvedSetScope scope = ResolvedSetScope::global; ResolvedSetKind kind = ResolvedSetKind::node; }; struct SetResolutionResult final { std::vector sets; std::vector diagnostics; }; [[nodiscard]] SetResolutionResult resolve_sets(const ParsedDeck& deck); } // namespace fesa