// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// SPDX-FileCopyrightText: The Eigen Authors
// SPDX-License-Identifier: MPL-2.0
//
// Forwarding header: the top-level unsupported/ directory was renamed
// to contrib/ in Eigen 5.x. New code should use
//   #include <contrib/Eigen/StructuredMatrices>
// directly. This shim preserves the legacy include path.

#ifndef EIGEN_UNSUPPORTED_STRUCTUREDMATRICES_FORWARD_H
#define EIGEN_UNSUPPORTED_STRUCTUREDMATRICES_FORWARD_H

#include "../../contrib/Eigen/StructuredMatrices"  // IWYU pragma: export

#endif  // EIGEN_UNSUPPORTED_STRUCTUREDMATRICES_FORWARD_H
