// Copyright(C) 2022, 2024 National Technology & Engineering Solutions // of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with // NTESS, the U.S. Government retains certain rights in this software. // // See packages/seacas/LICENSE for details #pragma once #include #include #include #include "Ioss_Region.h" namespace Ioss { class Region; template struct chain_entry_t { chain_entry_t() = default; chain_entry_t(int64_t el, int lnk) : element(el), link(lnk) {} IOSS_NODISCARD bool operator==(const chain_entry_t &other) const { return (other.element == element); } int64_t element{}; // Element at root of chain int link{-1}; // How far is this element in the chain (1-based) }; template using chain_t = std::vector>; template IOSS_NODISCARD chain_t generate_element_chains(Ioss::Region ®ion, const std::string &surface_list, int debug_level, INT /*dummy*/); } // namespace Ioss